耦合性设计:为什么优先使用组合而不是继承?

后台开发:核心技术与应用实践

为什么优先使用组合而不是继承?
子类继承父类,可以继承父类的方法及属性,实现了多态以及代码的重用,解决了系统的重用性和扩展性,但是继承破坏了封装,因为其是对子类开放的,修改父类会导致所有子类的改变,因此继承一定程度上破坏了系统可扩展性,所以继承要慎用。

继承是在程序开发的过程中重构得到的,而不是程序设计之初就使用继承,很多面向对象开发者滥用继承,结果可能造成后期的代码解决不了需求的变化。因此,优先使用组合而不是继承,是面向对象开发的一个重要经验。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,153评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,448评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,435评论 19 139
  • “群里咋没有动静呢”? 我手机里有三个大群:亲戚群,同学群,战友群。最近几篇文章“咣当”砸进去没了波浪,发个笑话还...
    倪郭阅读 955评论 15 33
  • 车上,感受着城市灯红酒绿,握着方向盘的我,听着醉人的女声歌声,有力的节奏从音响传过来,手指合着节奏敲打,望着向我撇...
    方白熊阅读 197评论 0 0

友情链接更多精彩内容