tag:面向对象编程的设计原则 继承 派生
面向对象编程的设计原则:
1. 面向接口的编程而不是面向实现的编程,要考虑今后可能出现的改动和设计,要预留出一定的接口。常利用抽象类来实现。(永远不变的是变化。)
2. 变化的用组合,不变的用继承。
3. 高内聚,低耦合。每个模块的功能尽量单一。
4. 多用经典设计模式。
继承和派生:
1. 保持已有类的特性而构造新类的过程称为继承。
2. 在已有类的基础上新增自己的特性而产生新类的过程称为派生。
继承:
1. 继承的目的:实现代码的重用,提高开发效率。(同友元)。
2. 使用继承的原则:不变的地方使用继承。
3. 继承的分类:单继承、多继承、多重派生、多层派生。
单继承:派生类只从一个基类派生。
多继承:派生类从多个基类派生。
多重派生:由一个基类派生出多个不同的派生类。
多层派生:有一个基类派生后继续做基类派生。
4. 派生类的声明:
公有继承,私有继承,保护继承。
在生产中一般使用公有继承。只能继承公有和保护。不继承私有(可以使用公用的方法调用私有数据成员)。基类中的数据成员同样开辟空间,因为会调用基类的构造函数。
私有继承:在派生类中,体现私有属性。
保护继承:原来在基类的共有和保护,在派生类中体现保护。
5. 在创建了一个派生来的对象时,先调用基类的构造函数再调用派生来的构造函数。如果有多个基类,按照他被继承的顺序。
6. 一个类中既有组合又有继承,先调用基类的构造函数再调用组合的构造函数,再调用派生类的构造函数。