第四周学习总结
学号 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 . protectedB . 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 .aliasesB .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 .trueB .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
-
解析:
子类可以访问父类的实例数据和方法的,同时子类也可以重新定义父类中的实例数据和方法的。
结对及互评
- 本周结对学习情况
点评:
-
代码练习较多,问题较为深邃(至少我看不懂)
-
基于评分标准我给本博客打分: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 |