美文网首页
10 | 理论七:为何说要多用组合少用继承?如何决定该用组合还是

10 | 理论七:为何说要多用组合少用继承?如何决定该用组合还是

作者: 旺仔Milk | 来源:发表于2019-12-05 12:22 被阅读0次

Q 为什么不推荐使用继承?
A 继承是面向对象的四大特性之一, 用来表示类之间的 is-a 关系, 可以解决代码复用的问题. 虽然继承有诸多作用, 但继承层次过深, 过复杂, 也会影响到代码的可维护性. 在这种情况下, 我们应该尽量少用, 甚至不用继承

Q 组合相比继承有哪些优势?
继承主要有三个作用:
表示 is-a 关系, 支持多态特性, 代码复用. 而这三个作用都可以通过组合, 接口, 委托三个技术手段来达成, 除此之外, 利用组合还能解决层次过深, 过复杂的继承关系影响代码可维护性的问题

Q 如何判断是该用组合还是该用继承?
A 尽管我们鼓励多用组合少用继承, 但是组合也并不是完美的, 继承也并非一无是处. 在实际的项目开发中, 我们还是要根据具体的情况,来选择该用继承还是组合. 如果类之间的继承结构稳定, 层次比较浅, 关系不复杂, 我们就可以大胆的使用继承. 反之, 我们就应该使用组合来替代继承. 除此之外 还有一些设计模式, 特殊的应用场景, 会固定使用组合 或者继承

相关文章

  • 10 | 理论七:为何说要多用组合少用继承?如何决定该用组合还是

    Q 为什么不推荐使用继承?A 继承是面向对象的四大特性之一, 用来表示类之间的 is-a 关系, 可以解决代码复用...

  • 多用组合少用继承

    不推荐使用继承 继承表示is-a的关系,用于代码复用。但是继承会增加代码的耦合,复杂的继承关系(层次过深,过于复杂...

  • 学习笔记-为何说多用组合少用继承

    在面向对象的编程中,有一条非常经典的设计原则:组合优于继承,多用组合少用继承。什么不推荐使用继承?组合比继承有哪些...

  • 面向对象原则

    组合复用原则 多用组合, 少用继承 , 用组合代替继承 ,比如在java 分层设计中, service需要用dao...

  • (转)多用组合,少用继承

    最近在学习设计模式,发现一个好文作者:跳刀的兔子链接:https://www.cnblogs.com/shipen...

  • 10 - 深入理解组合&继承

    在面向对象编程中,有一条非常经典的设计原则,那就是:组合优于继承,多用组合少用继承。为什么不推荐使用继承?组合相比...

  • 面向对象(七)组合优于继承?

    组合优于继承,多用组合少用继承。 1、为什么不推荐使用继承? 继承是面向对象的四大特性之一,用来表示类之间的 is...

  • 面向对象:多用组合少用继承

    为什么不推荐使用继承? 虽然继承可以解决代码复用问题,但继承层次过深、过复杂,也会影响到代码的可维护性。 组合相比...

  • 设计模式总结

    1、模式依赖基础与原则 1.1、基础 抽象,封装,多态,继承 1.2、原则 封装变化,多用组合、少用继承,针对接口...

  • 为什么推荐多用组合、少用继承

    继承的弊端: 有这么一个情况: 你想要创建一个只有嘴巴的机器人类,并且这个机器人类只有一个行为:嘴巴吃东西。你发现...

网友评论

      本文标题:10 | 理论七:为何说要多用组合少用继承?如何决定该用组合还是

      本文链接:https://www.haomeiwen.com/subject/xvjdgctx.html