第三周学习笔记Boolan

窗体顶端

继承 复合 委托

复合Comosition表示 has a

设计模式 Adapter(改造 适配 配接)

第三周学习笔记Boolan_第1张图片

queue可以使用duque已经完成的功能

上图相当于只开放了deque的其中六个功能 而且名字也换了(既)

第三周学习笔记Boolan_第2张图片
   

从内存角度理解composition

第三周学习笔记Boolan_第3张图片

(红色部分 是编译器加上的)

Delegation委托 (另一个术语composition by reference)

指针传值也叫by reference

只是指针指向右边 但什么时候拥有右边还未知

pImpl

第三周学习笔记Boolan_第4张图片

复合与委托的区别

前者:有了外部就有的内部 内外一起出现

后者:左右不同步

左边只是接口,实现都在右边 (称为:pimpl  or  handle\body 也称为编译防火墙)

如何做到动n不改变abc?

如a想改变,则copy一份给a来改,bc继续共享n

补充:class与struct的区别

Inheritance继承,表示 is a

第三周学习笔记Boolan_第5张图片

有三种继承方式

Public (表示 是一种)  

Private   

protected

最重要的是第一种

父类的数据被完整继承下来

第三周学习笔记Boolan_第6张图片

在希望子类重新定义的构造函数前面加virtual

pure virtual :子类必须定义

继承搭配虚函数的例子

teoplate method

第三周学习笔记Boolan_第7张图片

第三周学习笔记Boolan_第8张图片

继承加复合

第三周学习笔记Boolan_第9张图片

这两种类型中每个类的构造和析构的调用顺序?

委托加继承 

Observer

Composite

第三周学习笔记Boolan_第10张图片

注:vertor容器中只能放指针

prototypr

—>

已知设计模式汇总:

Adapter  handl/body(pImpl)      singlton     template methond      observer     composite    prototype


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