继承是实现软件重用的一种方式 。
在C++中拥有另一种实现软件重用的方式-----
Composition:对象组合【C++自学笔记 Composition:对象组合】用已经有的对象制造新的对象
(设计一个类的时候它的成员变量可以是另一个类的对象)
对象组合的两种方式:(内存模型复杂度:访问对象时既可以通过对象本身访问,也可以通过指针访问)
- Fully (全部地、充足地) inclusion
- By reference (通过引用)inclusion
By reference :组合的对象不是我的一部分,我只是知道它在哪儿能够去访问它(成员变量是指针)
java只能By reference
Example:类SavingAccount里面 包含两个private对象
----属于Person类的saver 和 属于Currency类的balance
这里的成员变量是直接使用 而没有用指针
说明是运用的 Fully inclusion 方法来实现的 Composition
文章插图
所以 在这个Example里 SavingAccount类的构造函数应该使用
Initializer list(初始化列表)的方法定义:
而输出就使用m_saver.ptint()即原本就含有的输出方法
文章插图
嵌入式对象:1.所有的嵌入式对象都需要初始化
- -如果你没有提供参数 你就要使用默认初始化函数
- -任何数量的对象都要通过逗号分开
- -是可选择的(也可以不使用初始化列表)
- -提供了参数给子构造函数
name ( args参数 ) [ ' : ' initialization list ] ' { '...' } '
文章插图
公共对象VS私有对象他们都是在制造嵌入式对象
- 他们是底层实现的一部分
- 新对象只有一部分旧对象的公共接口
文章插图
经验总结扩展阅读
- 死亡笔记的结局是什么?
- 盗墓笔记的大结局是什么?
- 盗墓笔记大结局是什么?
- 盗墓笔记结局是什么?
- 爱情公寓哪集梦到盗墓笔记?
- 盗墓笔记鹿晗演的谁?
- 恐怖笔记剧情详解?
- 海错图笔记怎么样?
- 为什么说不要自学量子力学
- 计算机语言有哪些