如有问题联系QQ:305023791
继承、复合、委托
1. 复合(composition)
定义:类A是类B的成员对象,表示has-a.
复合关系下的构造与析构函数:
![](https://img.haomeiwen.com/i8615336/41da717ce0b8f74c.png)
2. 委托(delegation)
定义:指向类A的指针为类B的成员对象,表示compositon by reference.
即,类B有一个指针成员对象,该指针指向另外一个类的对象。
3. 继承(inheritance)
定义:类A是类B的父类,类B是类A的子类,表示is-a.
继承下的构造与析构:
![](https://img.haomeiwen.com/i8615336/8bbfcfefc5c8134e.png)
4. 虚函数:与继承密切相关的定义
non-virtual函数:子类不能重新定义(override)它。
virtual函数:已有默认定义,子类可以重新定义它,也可以不override它。
pure virtual函数:父类对它没有默认定义,子类一定要override它。
![](https://img.haomeiwen.com/i8615336/4c52b7f242d0f77f.png)
5. 几种设计模式
Temple Method: Inheritance with virtual
![](https://img.haomeiwen.com/i8615336/f2fb3cf9e29377a3.png)
即世面上所说的框架,开发应用时只需在框架的基础上进行二次开发。
Observer: Delegation and Inheritance
![](https://img.haomeiwen.com/i8615336/541131e9725c901d.png)
即对同一个对象的不同展现,并且在其中一个展现下修改数据后,在其它展现下也会实时更新数据。
网友评论