【C++】继承和组合的概念?什么时候用继承?什么时候用组合?
2024-09-02 03:37:34
继承:通过扩展已有的类来获得新功能的代码重用方法
组合:新类由现有类的对象合并而成的类的构造方式
何时用继承?何时用组合?
1.如果二者间存在一个“是”的关系,并且一个类要对另外一个类公开所有接口,那么继承是更好的选择
2.如果二者间存在一个“有”的关系,那么首选组合
ps:
没有找到极其强烈无法辩驳的使用继承的利用的时候,一律采用组合
组合体现为现实层面,继承主要体现在扩展方面
如果并不是需要一个类的所有东西(包括接口和熟悉),那么就不需要使用继承,使用组合更好
如果使用继承,那么必须所有的都继承,如果有的东西你不需要继承但是你继承了,那么这就是滥用继承
最新文章
- cmd运行sql server安装
- [转]Web3.0时代,企业知识管理新趋势
- 编译llvm+clang
- Android 设计模式 之 单例模式
- win2008主机IIS7.x 关于web.config设置301重定向
- MVC4下拉少数名族
- sql 把一列的数据按逗号分隔转换成多行
- <;input>;标签中获得鼠标与否的样式变化——js实现
- 如何生成一副Poker
- show,hide与fadeIn、fadeOu的区别
- 【Python】iiblogs ——命令行下的网页收藏夹
- Windows Phone 8初学者开发的翻译终于过半
- JVM 设置
- JVM-7.Java内存模型与高效并发
- JVM菜鸟进阶高手之路一(一次与笨神,阿飞近距离接触修改JVM)
- Linux环境下执行java -jar xxx.jar命令如何让springboot项目在后台运行
- HR_Array Manipulation
- 收获,不止_Oracle读书笔记
- Docker Kubernetes 环境搭建
- Asp.net core 学习笔记 ( Smtp and Razor template 电子邮件和 Razor 模板 )
热门文章
- [Algorithm] 350. Intersection of Two Arrays II
- three arrays HDU - 6625 (字典树)
- JavaScript基础12——运动
- vim命令(转)
- 【转载】java.util.ServiceConfigurationError: com.sun.tools.attach.spi.AttachProvider
- 52: Luogu 4777 excrt
- bzoj 1260涂色 题解
- Linux中的文件
- Guava Cache 参数配置说明
- ruby-on-rails-BUG