zoukankan      html  css  js  c++  java
  • 第八周作业

    学号 20162327 《程序设计与数据结构》第8周学习总结

    教材学习内容总结

    • 1.java中的异常:一个异常是一个对象,它定义了并不经常出现的或是错误的情形,异常由程序或运行时环境抛出,并能被捕获,需要是可以进行适当的处理。
    • 2.异常输出中的特点:异常输出的第一行表明抛出的是什么异常,并给出了抛出此异常的原因。其余的行称为调用跟踪站,他们表示异常发生的位置。
    • 3.try-catch-finally语句,try的含义为打开文件代码,catch意为关闭文件代码。每个catch字句处理try块中可能抛出的一种特定类型的异常。不论是正常退出try块,还是因抛出一个异常而退出,都要执行finally字句。
    • 4.throw和throws:throw是抛出异常,throws是声明可能会产生异常,让调用该类的函数解决捕捉。
    • 5.java中的IO流:作用是从数据源中读取数据,以及将数据写入到数据目的地当中。
      三种方类:1.第一种分类:输入流、字节流
      2.第二种分类:字节流、处理流
      3.第三种分类:节点流、处理流

    教材学习中的问题和解决过程

    • 1问题:装饰者设计模式

    • 1解决方案:
      1、说明:
      装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
      2、装饰模式的特点:
      (1) 装饰对象和真实对象有相同的接口。这样客户端对象就可以以和真实对象相同的方式和装饰对象交互。
      (2) 装饰对象包含一个真实对象的索引(reference)
      (3) 装饰对象接受所有的来自客户端的请求。它把这些请求转发给真实的对象。
      (4) 装饰对象可以在转发这些请求以前或以后增加一些附加功能。这样就确保了在运行时,不用修改给定对象的结构就可以在外部增加附加的功能。在面向对象的设计中,通常是通过继承来实现对给定类的功能扩展。

      3、装饰模式和继承的不同:

       |装饰者模式| 继承|
       | :----------------:|:----------------:|
       |用来扩展特定对象的功能           |   用来扩展一类对象的功能           
       | 不需要子类         |   需要子类  |          
       |动态地           |  静态地      |      
       | 运行时分配职责           |  编译时分派职责     |     
       | 防止由于子类而导致的复杂和混乱 |导致很多子类产生,在一些场合,报漏类的层次|
      

    更多的灵活性 | 缺乏灵活性 |

    代码调试中的问题和解决过程

    • 1问题:FileReader如何读取数据
    • 1解决方案:步骤:
      A:创建字符输入流对象
      B:调用读取数据方法,并显示
      C:释放资源
      代码体现:
                FileReader fr = new FileReader("a.txt");  
                  
                //方式1  
                //一次读取一个字符  
                int ch = 0;  
                while((ch=fr.read())!=-1)  
                {  
                    System.out.print((char)ch);  
                }  
      
                //方式2  
                //一次读取一个字符数组  
                char[] chs = new char[1024];  
                int len = 0;  
                while((len=fr.read(chs))!=-1)  
                {  
                    System.out.print(new String(chs,0,len));  
                }  
      
                fr.close();  
    

    代码托管

    • 代码提交过程截图:

    • 代码量截图:

    上周考试错题总结

    • 1.假设Horse是Animal的子类,且都不是抽象类。下面哪项是无效的声明和初始化?选B
      A .Horse h = new Horse();
      B .Horse h = new Animal();
      C .Animal a = new Animal();
      D .Animal a = new Horse();
      E .all of the above(以上都正确) are valid(以上都是有效的)
    • 2.为了创建一个实现接口的类,需要使用关键字____选C
      A .extends
      B .interfaces
      C .implements
      D .finalizes
      E .abstracts
    • 3.假设Animal是一个指定了单一方法的接口--speak。现在假设Dog类实现了Animal接口。除了speak方法外,Dog类还有一个方法wagTail。现在思考下面的代码:选A

    Animal a = new Dog();
    a.wagTail();

    关于这段代码,下面哪项是正确的
    A .It will result in a compile-time error(这段代码会引起编译时错误).
    B .It will result in a run-time error.(这段代码会引起运行时错误)
    C .It will call the speak method defined in the Animal interface. (这段代码将会调用Animal接口中的speak方法)
    D .It will call the wagTail method defined in the Dog class(这段代码将会调用Dog类中的wagTail方法).
    E .none of the above are true. (以上都正确)
    解析:这段代码会导致编译时错误,因为动物界面没有指定鹡鸰的方法。这个编译时错误可以避免通过显式铸造一个狗当调用鹡鸰方法。

    • 4.一个接口可以被用作引用类型。 选A
      A .true
      B .false
      解析:一个接口名称可以使用引用类型以同样的方式,可以使用一个类名作为引用类型,像一个抽象类。然而,一个接口不能实例化。
    • 5.FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准)定义了两层规范,第一层是()?选B
      A ./etc 应该放置设置文件
      B ./ 下面的各个目录应该要放什么文件数据
      C .针对 /usr 及 /var 这两个目录的子目录来定义
      D ./bin 与 /sbin 则应该放置可执行文件
      E ./var/log 放置系统登录文件
      F ./usr/share 放置共享数据
      解析:FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。
      FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。
      第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件,/usr/share 放置共享数据等等。

    点评过的同学博客和代码

    • 本周结对学习情况
      • 20162321
      • 结对学习内容
        这周我们一起学习了异常的有关知识,并了解了一些处理异常的方法。在合作中有很多困难,交流的时间也不多,还是有提升的空间吧。
    • 上周博客互评情况

    其他(感悟、思考等,可选)

    这周继续浪潮之巅,这次我想说说摩托罗拉公司,摩托罗拉作为世界无线通信的领导者,可以说是它开创了这个产业,但是它因为技术路线错误,执行力欠缺,渐渐走向衰落。古人说得好,术业有专攻,但摩托罗拉公司却想要在个各条战线上都有所作为,这也最终导致了它的失败。所以说,我们干一件事,就要把它干好,不能太贪婪。有了前辈的经验,我想我们的路会更加的平坦一些吧。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 100/100 1/1 16/16
    第二周 257/257 1/1 22/22
    第三周 465/465 1/1 26/26
    第四周 875/875 2/2 40/40
    第五周 600/600 1/1 40/40
    第六周 330/330 1/1 36/36
    第七周 467/467 2/2 30/30
    第八周 2926 13 150

    参考资料

  • 相关阅读:
    20200226 Java IO流——廖雪峰
    20200225 Java 多线程(2)-廖雪峰
    20200225 Java 多线程(1)-廖雪峰
    20200224 尚硅谷ElasticSearch【归档】
    20200224 一 概述
    20200222 尚硅谷Dubbo【归档】
    20200222 四、dubbo原理
    Improved robustness of reinforcement learning policies upon conversion to spiking neuronal network platforms applied to Atari Breakout game
    Reinforcement learning in populations of spiking neurons
    Solving the Distal Reward Problem through Linkage of STDP and Dopamine Signaling
  • 原文地址:https://www.cnblogs.com/20162327WJH/p/6752918.html
Copyright © 2011-2022 走看看