第五周学习报告

学号 20182315 2019-2020-1 《数据结构与面向对象程序设计》第五周学习总结

教材学习内容总结

  • 在UML中,继承用空箭头表示,由子类指向父类。

  • 子类可以调用父类的变量,可以调用父类的方法,且不依赖于父类变量。由子类实例化的对象,该对象也可调用父类的方法。继承为单向的,父类不可对子类进行上述操作。

  • super super可是子类调用父类的构造方法,super可借父类为子类进行变量初始化,为下方调用打下基础。super(),一般放在子类构造方法的第一行。

  • 方法重写,父类部分方法是由final定义的,此类方法不能能被子类重写,方法重写允许继承关系的两个对象使用同一种名称按不同方式完成任务。
    -间接引用,若要引用private定义的私有方法,可通过调用该类里的public方法,再通过public方法调用private变量或方法。

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

  • 问题1:抽象类既没有实际的定义,有没有具体功能,定义一个抽象类,抽象方法有什么作用?

  • 问题1解决方案:抽象类主要是将许多事物的共性提取出来,抽象类不能实例化对象,有子类根据具体情况进行定义,灵活性更高。

  • 问题2:对父类子类关系处理的理解不够深入。

  • 问题2解决方案:父类内定义的方法可谓抽象方法,定义成子类的公共性质,由子类具体细化。父类子类之间有包含关系。

  • 问题3:super的理解不到位。

  • 问题3解决方案:super在程序里多用于调用父类构造方法,而父类其他方法,可以通过实例化对象调用。

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

  • 问题1:纠正对super用法的误区,深入学习super的调用方法。

  • 问题1解决方案:super用于调用父类里的任何方法,如果super的方法有返回值,要建立变量去接收返回值。

  • 问题2:对抽象方法适用范围不够了解,在父类定义抽象方法是报错。

  • 问题2解决方案:经纠错,抽象方法必须定义在抽象类里,抽象类里可以没有抽象方法,但抽象方法必须定义在抽象类里。

代码托管

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

上周考试错题总结

  • 错题1:
  • Inheritance through an extended (derived) class supports which of the following concepts?

A. interfaces

B. modular

C. information hiding

D. code reuse

E. correctness

答案:D

理解:通过扩展一个类并继承它,新类不必重新实现任何这些继承的方法或实例数据,从而节省了程序员的工作量。因此,代码重用是为了您的需要扩展它而重用其他代码的好处。

  • 错题2:
  • Aside from permitting inheritance, the visibility modifier protected is also used to

A. permit access to the protected item by any class defined in the same package

B. permit access to the protected item by any
static class

C. permit access to the protected item by any parent class

D. ensure that the class cannot throw a NullPointerException
E. define abstract elements of an interface

答案:A

理解:受保护的可见性修饰符用于以受保护的方式控制对项目的访问。保护是访问限于当前类(如私人项目),同一包中的类或此类的扩展类。

  • 错题3:
  • In order to determine the type that a polymorphic variable refers to, the decision is made

A . by the programmer at the time the program is written

B . by the compiler at compile time

C . by the operating system when the program is loaded into memory

D . by the Java run-time environment at run time
E . by the user at run time

答案:D

理解:多态变量可以采取许多不同的类型,但不知道它在执行程序之前采取了什么类型。在引用变量时,必须做出决定。这个决定是由运行时环境基于变量的最新赋值来实现的。

结对及互评

  • 博客中值得学习的或问题:

    • 对学习态度认真,能合理安排日后复习工作。
    • 面对代码错误能积极反思并记录下来。
  • 基于评分标准,我给本博客打分:12分。得分情况如下:

  1. 正确使用Markdown语法加1分:

  2. 模板中的要素齐全加1分

  3. 教材学习中的问题和解决过程, (加3分)

  4. 代码调试中的问题和解决过程, (加3分)

  5. 按时发博客的加1分

  6. 进度条中记录学习时间与改进情况的加1分

  7. 错题学习深入的加1分

  8. 结对学习情况真实可信的加1分

点评过的同学博客和代码

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90
第五周 800/1000 3/5 20/16
  • 计划学习时间:16小时

  • 实际学习时间:20小时

  • 改进情况:
    学习时间增多,自学能力增强。

参考资料

posted @ 2019-10-07 21:14  20182315zjw  阅读(187)  评论(1编辑  收藏  举报