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

  • 结对照片
  • 结对学习内容:
    继承
  • 上周博客互评情况
  • 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
原文地址:https://www.cnblogs.com/leonzheng/p/11632761.html