20182310 第五周学习总结
Posted tursws
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20182310 第五周学习总结相关的知识,希望对你有一定的参考价值。
20182310 2019-2020-1 《数据结构与面向对象程序设计》第5周学习总结
教材学习内容总结
1.继承的概念:
继承是在父类和子类之间建立一种“是”的关系。
用于派生新类的原始类称为父类、超类或基类,被派生出的类就称为子类或者亚类。
2.影子变量:如果在一个子类中声明一个同名变量,则该变量称为影子变量。
3.类间关系有最基本的三种——依赖、聚合、继承。依赖关系:一个类依赖另一个类的情况称为依赖。一个类的对象含有另一个类的对象叫做继承。
4.super引用,使用super引用可以访问父类的成员。子类构造方法负责调用父类构造方法,而且应该在子类的构造方法的第一行用super()引用调用父类构造方法。
5.类层次结构:继承关系通常发展成一个类层次结构。在类层次结构中,应当重视合理将类的公共特征保持在尽可能高的层级上。
6.重写方法:即子类和父类里面有相同的方法和签名时,子类方法可以重写父类方法,子类方法优先。调用方法的对象决定决定了哪一个版本的方法将被实际执行。
教材学习中的问题和解决过程
- 问题1:抽象类和接口的区别?
问题1解决方案:abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换。
抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。抽象类要被子类继承,接口要被类实现。接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现。接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个类实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。抽象方法只能申明,不能实现。abstract void abc();不能写成abstract void abc(){}。抽象类里可以没有抽象方法。如果一个类里有抽象方法,那么这个类只能是抽象类。抽象方法要被实现,所以不能是静态的,也不能是私有的。接口可继承接口,并可多继承接口,但类只能单方面继承。- 问题2:使用自己定义的类时,无法获得想要的数据。
- 问题2解决方案:将被调用的代码中产生的数据代码进行更改,将方法名改为get开头的代码。就可以通过这一方法调用到数据。
- 问题3:类的派生代表什么关系?
问题3解决方法:继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力,是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
代码调试中的问题和解决过程
- 问题1.
- 问题1解决方案:
- 问题2.
- 问题2解决方案:
代码托管2
上周考试错题总结
- 错题1:
- 错题1解决方案super指令表示当前类的父类中某项的调用。 由于没有消息,而只有super(),因此它是对父类的构造函数的调用。
- 错题2:
- 错题2解决方案:多重继承意味着给定的类继承自多个父类。 在上面列出的那些便携式计算机中,便携式计算机从PC和便携式设备继承属性。 A,B和E中的答案都是单继承的示例,其中一类至少有两个孩子(在A中,计算机有孩子大型机和PC,在B中,PC有孩子台式机和笔记本电脑,在E中,PC有孩子Macintosh Macintosh) 和IBM PC)。 答案D表示类的属性。
- 错题3:
- 错题3解决方案:Object类定义clone来创建任何对象的副本,等于确定两个对象是否是同一对象,以及toString来将Object转换为String。 但是,compareTo不是由Object实现的,必须在要实现Comparable接口的任何类中显式实现。
- 错题4:
- 错题4解决方案:length和toUpperCase消息没有参数,子字符串有两个int参数。术语,基类,父类,超类是另一个的同义词。 它们都暗示该类将用作继承的基础,而后续类将继承(继承自)该基类。 对于equals,必须将字符串作为参数传递,将接收消息的字符串与作为参数传递的字符串进行比较。
- 原因:没有弄懂length和equals的传参数能力
- 错题5
- 错题5解决方案:您只能实例化具体类,不能实例化抽象类。 但是您可以扩展Abstract类以及Interfaces。 D中的参数列表是非法的,因为它包含两个双精度参数而不是1。
- 错题6
- 错题6解决方案:受保护会尽可能限制可见性,同时仍然允许继承。 在某些方面,受保护的“通告”应该使用继承。
结对及互评
评分标准
- 博客中值得学习的或问题:
- 学习:在总结问题时有附上详细的图片,而我总是忘记截图
- 问题:教材学习内容总结不够详细。
- 代码中值得学习的或问题:无
- 基于评分标准,我给本博客打分:15分。得分情况如下:
- 正确使用Markdown语法(加1分):
- 模板中的要素齐全(加1分)
教材学习中的问题和解决过程, 一个问题加1分()
- 代码调试中的问题和解决过程, 一个问题加1分()
- 本周有效代码超过300分行的(加2分)
- 其他加分:
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
点评过的同学博客和代码
- 本周结对学习情况
- 20182305
- 结对照片
- 上周博客互评情况
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 10000行 | 30篇 | 400小时 | |
第一周 | 155/200 | 2/2 | 20/20 | 初步掌握linux命令、java小程序和jdb调试 |
第二 三周 | 470/625 | 2/4 | 20/40 | 学会scanner定义的使用,类的定义 |
第四周 | 1444/2069 | 2/4 | 20/60 | 下载安装IDEA及其插件,学会TDD调试,编写测试代码 |
第五周 | 2/8 | 20/80 | 简单的学会客户端和服务器的编写 |
以上是关于20182310 第五周学习总结的主要内容,如果未能解决你的问题,请参考以下文章