【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