C++中组合的使用
来源:互联网 发布:大数据分析课程 编辑:程序博客网 时间:2024/06/05 07:31
http://blog.csdn.net/jia_xiaoxin/article/details/2938032
FAQ 5.09
组合使软件在开发过程中可以聚合已存在的组件而不用去新建一个。
组合(有时候叫聚合)是将一个对象(部分)放到另一个对象里(组合)。它是一种 has-a 的关系。例如,FordTaurus是由Engine,Transmission,InstrumentPanel,等等组合而成.也就是说,FordTaurus含有一个Engine.(Engine 是FordTaurus的Part-of):
#include <iostream>using namespace std;class Engine {public: virtual void start();};void Engine::start(){ cout << "starting Engine/n";}class FordTaurus {public: virtual void start();protected: Engine engine_; // An Engine is part of a FordTaurus};void FordTaurus::start(){ cout << "starting FordTaurus/n"; engine_.start();}int main(){ FordTaurus taurus; taurus.start();}
有时候开发者在他们该使用组合的时候错误的使用继承(kind-of),例如,他们可能使FordTaurus从Engine继承,这是把Kind-of和Part-of给搞混乱了.
- C++中组合的使用
- C++中组合的使用
- RAC中组合的使用
- 关于objective-c中类的组合
- MFC中CCOMBOX组合框的使用
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- C++中组合类的使用
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- Oracle中组合索引的使用详解
- 【设计模式】之原型模式
- 使用Google Map API v2
- 一些技术文件链接
- fflush函数
- 关于matlab提示“找不到指定的模块”
- C++中组合的使用
- hadoop配置 - ssh-copy-id with port
- assert 断言
- ORACLE:Health Monitor
- linux中的platform设备
- vs2008 下编译jrtplib-3.9.0成功
- 数据结构——链式二叉树
- 英特尔重新定义电视 必须跨越哪些障碍?
- javascript中的__proto__和prototype