Boolan - C++学习笔记 一 - 第三周

类之间的关系

Composition复合

Inheritance继承

Delegation委托

1、Composition

Composition表示:has-a的关系,即包含一个、若干个的关系。如图,queue有一个deque类,如下图所示:queue作为容器,他容纳了类deque


Adapter:适配器设计模式

改造一下已有的实现,改头换面,即可实现“适配”功能。

Composition关系下的构造和析构:

构造函数:由内到外,先调用内部对象的默认构造函数,然后再调用容器自己的构造函数。

默认:是指编译器帮我们做的,如果我们想调用自己定义的构造函数,只能自己来调用,替换掉下面图中的红色Component(x,b,a),并传入参数


析构函数:由外到内,跟构造刚好相反。


2、DelegationComposition by refenrence)委托:如下图所示。


Handle/body :pointor to implemetation.

Copy on wirte:这个概念在操作系统里面有提及。

3、Inheritance继承关系:

表示is-a的关系,如A继承B,记为A->B,表示B是一种A,B更特殊、更具体。

继承关系的构造和析构顺序和composition类似。

父类的析构函数最好写成虚函数。考虑到以后有可能会被继承。

继承with虚函数才能发挥继承最强大的功能

virtual函数:希望所有子类重新定义的函数-非强制,只是希望被重新定义override

non-virtual函数:不希望被任意子类重新定义的函数,预想父类的设计已经够用了

pure virtual:所有子类一定要重新定义的函数

Template   Method不是模板的意思。指的是函数实现延缓。是一种设计模式。(架构师)

应用程序框架:好的框架在于实现者的视野和胸怀。

OOD:面向对象,通过多个类来解决一个问题。


你可能感兴趣的:(Boolan - C++学习笔记 一 - 第三周)