继承:通过扩展已有的类来获得新功能的代码重用方法

组合:新类由现有类的对象合并而成的类的构造方式

何时用继承?何时用组合?

1.如果二者间存在一个“是”的关系,并且一个类要对另外一个类公开所有接口,那么继承是更好的选择

2.如果二者间存在一个“有”的关系,那么首选组合

ps:

没有找到极其强烈无法辩驳的使用继承的利用的时候,一律采用组合

组合体现为现实层面,继承主要体现在扩展方面

如果并不是需要一个类的所有东西(包括接口和熟悉),那么就不需要使用继承,使用组合更好

如果使用继承,那么必须所有的都继承,如果有的东西你不需要继承但是你继承了,那么这就是滥用继承

最新文章

  1. cmd运行sql server安装
  2. [转]Web3.0时代,企业知识管理新趋势
  3. 编译llvm+clang
  4. Android 设计模式 之 单例模式
  5. win2008主机IIS7.x 关于web.config设置301重定向
  6. MVC4下拉少数名族
  7. sql 把一列的数据按逗号分隔转换成多行
  8. <input>标签中获得鼠标与否的样式变化——js实现
  9. 如何生成一副Poker
  10. show,hide与fadeIn、fadeOu的区别
  11. 【Python】iiblogs ——命令行下的网页收藏夹
  12. Windows Phone 8初学者开发的翻译终于过半
  13. JVM 设置
  14. JVM-7.Java内存模型与高效并发
  15. JVM菜鸟进阶高手之路一(一次与笨神,阿飞近距离接触修改JVM)
  16. Linux环境下执行java -jar xxx.jar命令如何让springboot项目在后台运行
  17. HR_Array Manipulation
  18. 收获,不止_Oracle读书笔记
  19. Docker Kubernetes 环境搭建
  20. Asp.net core 学习笔记 ( Smtp and Razor template 电子邮件和 Razor 模板 )

热门文章

  1. [Algorithm] 350. Intersection of Two Arrays II
  2. three arrays HDU - 6625 (字典树)
  3. JavaScript基础12——运动
  4. vim命令(转)
  5. 【转载】java.util.ServiceConfigurationError: com.sun.tools.attach.spi.AttachProvider
  6. 52: Luogu 4777 excrt
  7. bzoj 1260涂色 题解
  8. Linux中的文件
  9. Guava Cache 参数配置说明
  10. ruby-on-rails-BUG