C++ 设计模式中的is-a/has-a/like-a/use-a模式
来源:互联网 发布:p2p网络监控软件 编辑:程序博客网 时间:2024/06/16 13:17
use-a关系
如果类A与类B是 use-a 关系,则A具有类型为B、B&、const B&、B*、const B*的一个成员,或者是可以轻易以上述对象之一
返回一个B的函数。于是A可以使用B的程序和数据。
has-a关系
has-a 类似于 use-a,不同之处在于,A负责构建和销毁B并在它的生存期使用它。
is-a关系
如果类A和类B是 is-a 关系,则B必须是A的抽象,B应当只重载基类。is-a的关系通常出现在公共派生的C++中 。
is-like-a(其实就是一种use-a)
派生自基类并增加了一些新的接口
is-implemented-as-a关系(实现关系)
如果类A与接口M是实现关系,则它实现了M所有的纯虚函数。接口实现是Symbian OS中唯一使用多重继承的地方。
例:
汽车是一种交通工具: 汽车 is-a 交通工具
汽车有一个发动机: 汽车 has-a 发动机
is-a 一般是继承关系
has-a 一般是组合关系
来源: <http://blog.csdn.net/xiven/article/details/5424842>
0 0
- C++ 设计模式中的is-a/has-a/like-a/use-a模式
- is-a, is-like-a, has-a
- is-a, is-like-a, has-a
- is-a && has-a && like-a
- is-a、 has-a、 use-a
- java 面向对象关系is-a has-a like-a
- 【java学习笔记】is-a、 has-a 、is-like-a、is-like-a
- golang中的use-a和has-a
- is-a has-a
- is-a&has-a
- use-a, has-a, is-a和实现关系 介绍
- use-a, has-a, is-a和实现关系 介绍
- c++中的is-a和has-a
- is-a VS has-a
- is-a And has-a
- is-a 与 has-a
- “is a” 和”has a“
- Is -A 与Has - A
- java反射机制基础示例
- 浅谈 C++ 中的this 指针
- 【ACM】华为-2012-校园招聘机试题
- 算法训练 K好数【蓝桥杯】
- PHP + Zend Studio + apache 的基本配置
- C++ 设计模式中的is-a/has-a/like-a/use-a模式
- 备忘几个有用的shell脚本
- java多线程总结(转)
- JAVA:使用HTTP的get()方法来实现网络数据的读取
- Hinton关于RBM的代码注解之(三)mnistclassify.m
- [笔记] How to get the versionCode and versionName of your app
- Android Eclipse 项目报错,但没有显示具体错的代码位置
- [刷题]Search Insert Position
- Mac下面的SecureCRT(附破解方案) 更新到最新的7.3.2