码迷,mamicode.com
首页 > 其他好文 > 详细

GeekBand-第三周课程要点记录

时间:2016-05-29 22:50:11      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

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

GeekBand-第三周课程要点记录

标签:

原文地址:http://www.cnblogs.com/keepbeliefs/p/5540491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!