20182320 2019-2020-1 《数据结构与面向对象程序设计》第5周学习总结
20182320 2019-2020-1 《数据结构与面向对象程序设计》第5周学习总结
教材学习内容总结
什么是继承?
继承是从已有类派生一个新类的过程。
继承有什么意义?
复用已有的软件,提高利用率和效率。
形成继承关系后,父类和子类的关系:
is-a关系。
继承的代码例子:
父类:
public class Book{
xxx;
}
继承出来的子类:
public class Dictionary extends Book{
xxx;
}
继承能继承什么?
方法、变量,构造方法不能继承。
proteced修饰符:
和private、public一类,这个用来保护父类中的变量或方法不被子类修改,使其可见但不能修改。
在uml图中用“#”表示。
super引用:
用来调用父类的构造方法。
Object类:
所有类的老祖宗,一切类直接或间接从Object类派生。
每个类都继承了Object类的toString和equals方法。
抽象类:
不能实例化,不能被调用,所有方法都是抽象方法。
用abstract修饰符修饰。
派生于抽象类的类,只要有一个抽象方法未重写,那派生的还是抽象类。
final修饰符
使用final修饰符的方法在派生的任何类中不能重写。
教材学习中的问题和解决过程
- 问题1:子类如何间接引用父类的私有成员?
- 问题1解决方案:在父类中再创建一个公有成员调用私有成员,然后子类调用父类的公有成员
- 问题2:关于类中的调用方法的顺序
- 问题2解决方案:
CSDN
代码调试中的问题和解决过程
- 问题1:程序报错
- 问题1解决方案:
数组未填满。
代码托管
上周考试错题总结
错题1:
原因1:
public并没有破坏封装特性,但是protected仅用于继承,与封装无关。
错题2:
原因2:
没有return依然可以被调用,但是必须是void类型。
错题3:
原因3:
循环结束后会返回上一个循环。
结对及互评
点评过的同学博客和代码
- 本周结对学习情况
- 结对照片
- 结对学习内容:
继承 - 上周博客互评情况
- 20182307
其他(感悟、思考等,可选)
继承能有效提高编程效率和减少重复工作量。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 10000行 | 30篇 | 400小时 | |
第一周 | 208/208 | 2/2 | 9/9 | |
第二周 | 258/466 | 2/4 | 15/24 | |
第三周 | 693/1159 | 2/6 | 22/46 | |
第四周 | 1383/2542 | 2/8 | 30/76 |