GeekBand-第三周课程要点记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GeekBand-第三周课程要点记录相关的知识,希望对你有一定的参考价值。

做课程大纲性质的记录,根据大纲思考,有扩展阅读补充
 
1、考虑类之间能有什么样的联系和关系:组合,委托,继承
 
2、组合:包含其他类的对象
 
委托:包含其他类的指针
 
继承:包含并扩展,大部分是公有继承,is-a
 
3、虚函数:非虚函数,虚函数(virtual),纯虚函数(virtual、函数后边=0)
 
3.1 虚函数:C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。子类可以重写父类的虚函数实现子类的特殊化。
 
3.2 纯虚函数:C++中包含纯虚函数的类,被称为是“抽象类”。抽象类不能使用new出对象,只有实现了这个纯虚函数的子类才能new出对象。C++中的纯虚函数更像是“只提供申明,没有实现”,是对子类的约束,是“接口继承”。C++中的纯虚函数也是一种“运行时多态”。
 
3.3 普通函数:是静态编译的,没有运行时多态,只会根据指针或引用的“字面值”类对象,调用自己的普通函数。普通函数是父类为子类提供的“强制实现”。因此,在继承关系中,子类不应该重写父类的普通函数,因为函数的调用至于类对象的字面值有关。
 
4、组合加继承:子类继承自父类,子类包含一个其它类的对象,父类和对象哪一个先构造?
 
5、委托加继承:可以说是实现观察者模式的基础
 
 
 
 
 
 
 
 
 
 

以上是关于GeekBand-第三周课程要点记录的主要内容,如果未能解决你的问题,请参考以下文章

第三周课程进度

GeekBand第二三周学习笔记

赵栋 201771010137 第三周学习总结

第三周活动进度

事件记录日志第三周

算法原理与实践 [C++] by GeekBand-极客班百度云盘资源高清课程