1,类与类间的关系
继承(Inheritance),复合(Composition),委托(Delegation)
2,复合----表示has a
含义:在类定义里,定义其余类的对象
设计模式:Adapter--变压器就是一种,改造,适配
做用:借用强大类已完成的功能实现当前类的功能
3,复合关系下的构造和析构
构造由内而外
析构由外而内
4,委托(Composition by reference)----拥有某一个类指针
含义:在类定义里,定义指向其余类对象的指针
设计模式:Handle/Body(pImpl--Pointer to Implementation)--将方法放到另外一个类中
做用:编译防火墙
5,继承----表示is a
构造由内而外
析构由外而内
父类的析构函数必须是virtual
6,继承 with 虚函数
三种成员函数:
1,non-virtual函数:不但愿子类定义
2,virtual函数:子类可从新 定义可不从新定义
3,pure函数:子类必须定义 virtual void draw() const = 0;
设计模式:Template Method---Application framework经常使用手法---有名的MFC就是
做用:对于肯定部分先写好;不肯定的部分使用virtual留白,由子类定义
7,委托 + 继承(最强大组合)
设计模式:Observer
设计模式:Composite
设计模式:Prototype设计模式