Boolan-C++开发工程师-C++面对对象高级编程(上)- 第三周笔记

如有问题联系QQ:305023791

继承、复合、委托

1. 复合(composition)

定义:类A是类B的成员对象,表示has-a.

复合关系下的构造与析构函数:


Boolan-C++开发工程师-C++面对对象高级编程(上)- 第三周笔记_第1张图片

2.  委托(delegation)

定义:指向类A的指针为类B的成员对象,表示compositon by reference.

即,类B有一个指针成员对象,该指针指向另外一个类的对象。


3. 继承(inheritance)

定义:类A是类B的父类,类B是类A的子类,表示is-a.

继承下的构造与析构:


Boolan-C++开发工程师-C++面对对象高级编程(上)- 第三周笔记_第2张图片

4. 虚函数:与继承密切相关的定义

non-virtual函数:子类不能重新定义(override)它。

virtual函数:已有默认定义,子类可以重新定义它,也可以不override它。

pure virtual函数:父类对它没有默认定义,子类一定要override它。


Boolan-C++开发工程师-C++面对对象高级编程(上)- 第三周笔记_第3张图片

5. 几种设计模式

Temple Method: Inheritance with virtual


Boolan-C++开发工程师-C++面对对象高级编程(上)- 第三周笔记_第4张图片

即世面上所说的框架,开发应用时只需在框架的基础上进行二次开发。


Observer: Delegation and Inheritance


Boolan-C++开发工程师-C++面对对象高级编程(上)- 第三周笔记_第5张图片

即对同一个对象的不同展现,并且在其中一个展现下修改数据后,在其它展现下也会实时更新数据。

你可能感兴趣的:(Boolan-C++开发工程师-C++面对对象高级编程(上)- 第三周笔记)