9.组合与继承

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:56   1725   0

  • 复合 表示 has-a

将模板替换进来

如此我们可以说,queue里面有deque,二者是复合关系

看图来表示 黑色菱形 表示里面有东西

queue拥有c之后,就可以使用c的函数和数据

这同时也是 Adapter适配器模式的思想

  • 从内存的角度理解组合

queue拥有c后 也即拥有c的全部内存空间

  • 复合下的构造和析构

构造由内而外 析构由外而内

  • 委托关系

String中用一个指针 指向StringRep,即为委托关系,画图就是空心菱形,表示指针

二者的生命周期不同步,StringRep只有在用到的时候 才会创建

StringRep可以由多个类共享,当一个类要改变StringRep内容的时候,系统提供一份

StringRep的副本让String改,这叫做copy on write

  • 继承

继承关系,从子类往父类,画一个空心三角形,子类中的T表示模板

使用public继承,是表达 is-a ,是一种 的关系

父类的数据 完整的被子类继承

  • 继承关系下的构造和析构

从内存的角度去看,继承就是子类的对象中有父类的成分

构造由内而外 析构由外而内 父类的析构函数必须为 virtual

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP