20162316刘诚昊 第八周学习作业

学号20162316 2016-2017-2 《程序设计与数据结构》第八周学习总结

教材学习内容总结

  • 1.继承时,子类不会继承父类的构造函数,在调用子类的构造函数时会自动调用父类的构造函数。(编译子类时会自动在子类构造函数上加“super()”)至于调用哪个构造函数,根据super后面括号里的函数决定。
  • 2.在具有父子关系的两个类中,父类和子类各有一个函数,这两个函数定义(返回值类型,函数名,和参数列表)完全相同,则称为重写。
  • 3.一个引用能调用哪些成员(变量和函数),取决于这个函数的类型。
  • 4.对象的转型分为向上转型和向下转型。
  • 5.无论p指向一个什么样类型的变量,那么这个p怎么样的属性,什么样的成员函数,取决于它的类型里面是怎么定义的。

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

  • 问题1:“is - a”的关系具体为何?
  • 解决问题1的办法:网上搜索

he is a people
he has a head
我是一个男人 is-a
我有一个女人 has-a
is_a 用于继承
has_a 是组合 一个类中包含了其他类
一般我们认为继承可以分为两种基本的形式:实现继承和接口继承。
实现继承的主要目标是代码重用:
我们发现类B和类C存在同样的代码,因此我们设计了一个类A,用于存放通用的代码。
基于这种思路的继承称为实现继承。
接口继承不同,它是基于现实生活中的语义的,表现了IsA的关系。

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

本周没有新敲代码,而是回顾之前光赶进度而复制的别人的代码。

  • 问题:在重写时,子类的构造函数在调用父类构造函数时如何区分构造?
  • 解决方法:在老师给的视频中了解到,括号中的参数列表决定了调用的方法。

代码托管

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 83/83 1/5 20/20
第二周 409/500 1/6 18/38
第三周 1548/1000 2/8 22/60
第四周 300/1300 1/9 30/90
... ... ... ...
第七周 600/2877 1/12 23/133
第八周 0/2877 1/13 13/146

点评过的同学博客和代码

20162301
20162305

posted @ 2017-04-23 22:41  20162316刘诚昊  阅读(195)  评论(2编辑  收藏  举报