继承与派生 Software reusability
1.能通过对象直接访问的只有public成员
2.私有成员只能为自己所用(必须通过父类的公有函数间接调用)
(保护成员可以通过子类函数调用)
public protected private
对象直接访问 > 子类函数调用 > 本类函数调用(或者子类函数间接调用)
3.若继续一个公有继承,保护继承能把保护成员的访问范围扩散到其派生类中,而私有继承不能
Ps:访问-数据的直接引用;
调用-通过对象的函数调用;
定义派生类构造函数:
派生类构造函数名(总参表):基类构造函数名(参表),子对象名(参表){派生类新增数据成员初始化体}
多层继承时,派生类中只写直接基类的部分
多重继承
1.当两个基类中的成员同名(区别于重载),可以用作用域修饰
2.当派生类和基类同名(区别于重载),派生类覆盖基类
虚基类:继承共同基类时,只保留一份
------------------------------------------------------------
类的组合
在一个类中以另一个类的对象作为数据成员
类的组合和继承都是软件重用的重要方式
------------------------------------------------------------
多态
多态性:向不同对象发送同一个信息,对象各自产生不同的行为
具有不同功能的函数可以用同一个函数名-“一个借口,多种方法”
(函数重载、运算符重载)
静态多态(编译时的多态):通过重载实现
动态多态(运行时的多态):通过虚函数实现