c++类
来源:互联网 发布:甲骨文中国官网 mysql 编辑:程序博客网 时间:2024/06/08 10:24
转自:http://blog.csdn.net/suool/article/details/41344025
所谓类的组合是指:类中的成员数据是另一个类的对象或者是另一个类的指针或引用。通过类的组合可以在已有的抽象的基础上实现更复杂的抽象。 例如:
1、按值组合
2、按引用组合另外再看一个例子:
如果鸟是可以飞的,那么鸵鸟是鸟么?鸵鸟如何继承鸟类?[美国某著名分析软件公司2005年面试题]
解析:如果所有鸟都能飞,那鸵鸟就不是鸟!回答这种问题时,不要相信自己的直觉!将直觉和合适的继承联系起来还需要一段时间。
根据题干可以得知:鸟是可以飞的。也就是说,当鸟飞行时,它的高度是大于0的。鸵鸟是鸟类(生物学上)的一种。但它的飞行高度为0(鸵鸟不能飞)。
不要把可替代性和子集相混淆。即使鸵鸟集是鸟集的一个子集(每个驼鸟集都在鸟集内),但并不意味着鸵鸟的行为能够代替鸟的行为。可替代性与行为有关,与子集没有关系。当评价一个潜在的继承关系时,重要的因素是可替代的行为,而不是子集。
答案:如果一定要让鸵鸟来继承鸟类,可以采取组合的办法,把鸟类中的可以被鸵鸟继承的函数挑选出来,这样鸵鸟就不是“a kind of”鸟了,而是“has some kind of”鸟的属性而已。代码如下:
阅读全文
0 0
- 【c/c++】复数类
- 【c/c++】类模板
- [C/C++] 类
- 【C/C++】嵌套类
- 【C/C++】模板类
- C++------类
- C#--类
- C++-->类
- 【C++】类
- 【C#】类
- c++,C#,java中的类
- c与c++?励志类
- 【C/C++】String类实现
- 【C/C++】类和结构
- 含有指针成员的类的拷贝[C/C++/C#]
- 不能被继承的类[C/C++/C#]
- Objective-C类-Objective-C self 关键字
- [C/C++] 第12章 类 primer
- win10用U盘启动装ubuntu14.04双系统教程
- js Number对象 :属性constructor
- 数字货币开发专题(区块链原理理解及应用实例)
- Java集合---HashMap源码剖析
- 2016华为校招机试题目02
- c++类
- 排序算法的稳定性问题
- HDU 1043 Eight(康托展开)
- (4)用记事本写Java程序HelloWorld,以及用控制台如何执行程序
- ios打包上传导致ERROR ITME-90205和ERROR ITME-90205错误的解决过程
- 基于反射实现通用的Excel读取文件
- 机器学习之numpy和matplotlib学习(十三)
- 最短路径:迪杰斯特拉算法
- Html5与Css3文本、图、标记(三)