【Geekband】Week 3 Notes
0. 总体内容
1. Composition - has a 的关系
以
deque和queue的组合为例子在
class queue里面含有class deque的reference,deque可以使用queue的相关函数,使其功能更加强大。
内存相互关系
构造和析构的顺序
2. Delegation - Composition by reference
- 更多的强调是在
class String中拥有指针StringRep*,即class String负责完成与外界的操作,class StringRep来处理内部的事宜。
3. Inheritance 继承 - is a的关系
核心是子类继承父类的内容
主要是与virtual function来发挥作用
- 析构和构造顺序
4. non-virtual, virtual, pure virtual之间的关系
5. Template Method - 设计模式(MFC)
- 以打开文件为例,来设计各种类型文件的打开
固定的内容在父类完成,拓展的内容在子类完成
部分代码
6. Inheritance + Composition的构造和析构
- 主要是搞清楚运行的顺序
7. Delegation + Inheritance
Class Subject来进行与外部的沟通,Observer是by reference用与两个类之间的通信。

8. Composite的设计模式
- 通过引入子类
class Composite让父类class Component的功能更加完善。这里使用个虚函数,意味着子类可以对add运算重新定义。

9. Prototype的设计模式
更强调父类将宏观内容把我,子类将抽象的宏观内容具体化
父类的设计
- 子类的设计
作业分析和思考
https://github.com/weiweikong/Program_Practice/tree/master/160318.Geekband_Homework3
e-mail: kongww.nudt [AT] gmail.com
WeChat/QQ: 40804097

浙公网安备 33010602011771号