高质量C++编程指南 ----类的继承与组合
2019-08-27 本文已影响0人
lx_jian
对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对象的设计。
10.1 继承
如果 A 是基类,B 是A 的派生类,那么B 将继承A 的数据和函数。
继承规则:
(1)如果类A 和类B 毫不相关,不可以为了使B 的功能更多些而让B继承A 的功能和属性。
(2)若在逻辑上B 是A 的“一种”(a kind of ),则允许B 继承A 的功能和属性。
(3)若在逻辑上B 是A 的“一种”,并且A 的所有功能和属性对B 而言都有意义,则允许B 继承A 的功能和属性。
10.2 组合
若在逻辑上A 是B 的“一部分”(a part of),则不允许B 从A 派生,而是要用A 和其它东西组合出B