第四周学习总结

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

教材学习内容总结

第五章 编写类 :

1、类和对象的确定,确定程序中应该创建哪些类和对象。(类表示一组具有类似行为的对象)

2、利用接口实现多态性:
类名可以用于声明对象引用变量,接口名也可以用于做声明对象引用变量的类型。
一个接口引用变量可以指向任何实现该接口类的对象。

3、面向对象程序设计的核心是类的定义,它代表定义了状态和行为的对象(真正的面对对象程序设计过程,着手点都是先定义有明确状态和行为的对象的类)。

4、变量的作用域依赖于变量声明的位置,作用域决定在哪里可以使用变量。

5、当程序变得复杂、包含很多个类时,可以使用图来表达并交流程序设计思想。

6、对象应该是封装的,以防对数据的不合适的访问。

7、实例变量应该声明为私有的,以提倡封装。

8、大多数对象含有访问方法和设置方法,允许客户按可控方式管理数据。

9、类表示对象状态的方式应该独立于对象使用的方式。

10、方法的返回值类型应该与方法头中规定的返回值类型一致。

11、构造方法不能有任何的返回值,即使是void也不行。

12、聚合对象由其他对象组成,形成has-a关系。

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

  • 问题1:接口可以实现接口吗?

  • 问题1解决方案:经过查询博客和partner讨论后发现接口不能实现接口。因为接口的成员方法都具有抽象属性,不具有方法体,无法实现继承的接口。

  • 问题2:接口怎么感觉有时候可以被实例化

  • 问题2解决方案:经过看教材与查询博客得知,这种情况是声明一个对象指向实现该接口的类的对象。

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

  • 问题1:
    代码无法运行,一直爆红

  • 问题1解决方案:查看https://www.cnblogs.com/rocedu/p/6736847.html,发现少了extends TestCase,在9.30之前没有学习过extend的含义,没有在意这个问题,现在知道了这是继承父类的代码。

  • 问题2:
    在IDEA如何统计代码行数

  • 问题2解决方案:

经小组成员讨论,发现打开file,找setting,然后里面有个plugins,
然后再找marketplace,搜索statistic

代码托管

上周考试错题总结

  • 错题1:

    If a programmer writes a class wanting it to be extended by another programmer, then this programmer must

    A . change private methods and instance data to be protected

    B . change public methods and instance data to be protected

    C . change all methods to be protected

    D . change the class to be protected

    E . none of the above, the programmer does not have to change anything

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

  • 分析:protected的部分可以由定义它的类的任何子类访问,而private的部分不能被任何其他类访问。

  • 错题2:

    A variable declared to be of one class can later reference an extended class of that class. This variable is known as
    A . protected

    B . derivable

    C . cloneable

    D . polymorphic

    E . none of the above, a variable declared to be of one class can never reference any other type of class, even an extended class

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

  • 解析:

    一个被声明为一个类的对象可以引用该类的子类,这种方法是被称作为多态,,一个父类的对象是可以指向任何一个子类的一个对象。

  • 错题3:

    Two children of the same parent class are known as
    A .aliases

    B .relatives

    C .clones

    D .brothers

    E .siblings

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

  • 解析:

    同父类的两个子类的关系被称为siblings。clone是相同对象的副本,aliases是相同的对象

  • 错题4:

    Interface classes cannot be extended but classes that implement interfaces can be extended.

    A .true

    B .false

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

  • 解析:

    任何类都可以扩展,无论是接口、实现接口,还是两者都没有。除非被声明为final。

  • 错题5:

    A derived class has access to all of the methods of the parent class, but only the protected or public instance data of the parent class.
    A .true

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

  • 解析:

    子类会继承父类的所有变量和方法(包括private),并为变量预留空间,但是子类无法按名引用父类private成员。

  • 错题6:

    If class AParentClass has a protected instance data x, and AChildClass is a derived class of AParentClass, then AChildClass can access x but can not redefine x to be a different type.

    A . true

    B . false

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

  • 解析:

    子类可以访问父类的实例数据和方法的,同时子类也可以重新定义父类中的实例数据和方法的。

结对及互评

  • 本周结对学习情况

20182330

点评:

  • 代码练习较多,问题较为深邃(至少我看不懂)

  • 基于评分标准我给本博客打分:16分。得分情况如下:
    1.正确使用Markdown语法(加1分)

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

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

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

5.其他加分(加7分)

6.进度条中记录学习时间与改进情况(1)

7.感想,体会不假大空(1)

8.有动手写新代码(1)

9.排版精美(1)

10.错题学习深入(1)

11.点评认真,能指出博客和代码中的问题(1)

12.结对学习情况真实可信(1)

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

最近确实有些忙,对java的学习更懈怠了,必须利用十一假期好好学习了,已经濒临啥也不会了。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第4周 410/500 2/2 20/20

参考资料

posted @ 2019-09-30 14:33  20182314鞠明翰  阅读(163)  评论(1编辑  收藏  举报