2019-2020-20182318《数据结构与面向对象程序设计》第六周学习总结

2019-2020-20182318 《数据结构与面向对象程序设计》第六周学习总结

教材学习内容总结

第九章 多态

  • 后绑定。效率低于编译阶段的绑定效率。
  • 学习练习如何利用继承方式来实现多态性。
  • 学习练习如何利用接口来实现多态性。
  • 多态性设计(多个不同对象执行相同的基本行为,并且行为的不同实现方式取决于对象的具体类型。)

第十章 异常

  • 异常处理(异常抛出的问题和处理异常的方法)
  • 未捕获的异常。
  • try-catch语句与finally子句。
  • 异常传播。(就与传递性一样,举个例子:程序一存在异常,程序二调用程序一,程序二就会存在与程序一相同的异常。)
  • 异常类层次结构。(许多类型的异常类都由Exception类派生,但定义各种异常的子类却分散定义在其他几个包中,继承关系可以跨越包边界。)
  • 自定义异常与必检异常与免检异常。
  • 字节流和字符流的掌握
  • flush的应用和追加

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

问题1:类与接口有什么不同

问题1解决方案:类可被实例化,接口不能被实例化。接口可以只包含抽象方法和常量。类提供了接口的实现。类层次和接口层次不能交叉。类可以用来派生一个新类,接口可用来派生一个新接口的实现。

问题2:字节流和字符流到底是什么?定义在java.io包中的那么多方法都怎么系统的理解?

问题2解决方案:在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。InputStream和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串。字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。

问题3:如何连续读入多条信息

问题3解决方案:flush追加配合循环语句的使用。即将flush追加放在循环中。应为flush一次加载100条信息,运行起来很难并且容易出错

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

  • 问题1:错误信息提示:系统找不到指定路径

  • 问题1解决方案:创建新文件是路径设置错误,将路径改正到想储存的地方即可

  • 问题2:如何实现try catch的连续多次引用?

  • 问题2解决方案:将try catch与循环相结合即在try catch外一层设置无限循环,使用一个布尔数控制循环的终止。

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1及原因( 单选题 | 1 分)
    Comparing the amount of memory required by selection sort and insertion sort, what can one say?

A
.
Selection sort requires more additional memory than insertion sort

B
.
Insertion sort requires more additional memory than selection sort

C
.
Both methods require about as much additional memory as the data they are sorting

D
.
Neither method requires additional memory
E
.
None of the above
正确答案: D 你的答案: B

解析:选择排序和插入排序都可以“就地”实现。这意味着不需要额外的内存,排序后的数据只是在数据数组中进行重新排列。

  • 错题2及原因
  • Java allows one to create polymorphic references using inheritance and using interfaces.

A
.
true

B
.
false

正确答案: A 你的答案: B

解析:继承允许一个人使用一个基本变量来引用不同的后代成员,正确的变量将在执行过程中被使用。这就是多态性的作用。接口提供了类似的机制,但使用的是抽象方法,而不是继承中使用的具体方法。然而,效果是一样的。

  • 错题3及其原因
  • The type of the reference, not the type of the object, is use to determine which version of a method is invoked in a polymorphic reference.

A
.
true

B
.
false

解析;反了!决定调用哪个方法的是对象的类型,而不是引用的类型。

点评过的同学博客和代码

  • 本周结对学习情况
    • 20182333
      20182317
    • 结对照片
    • 结对学习内容
      对多态的学习和讨论
      多态与继承和接口的关系
      对异常的学习和讨论
      三种标准I/O流(in、out、err)

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

时间越来越紧张,各科的作业也越来越多。Java难度也渐渐加大了,必须要加强自主学习。真东西是等不来,抄不来的,相信在王老师英明的带领下,我们会越学越好。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
第六周 1175/1000 3/7 22/60

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:24小时

  • 实际学习时间:20小时

  • 改进情况:
    相比较以前,更加投入了

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2019-10-15 23:42  J~oker  阅读(134)  评论(1编辑  收藏  举报