什么是组合而不是继承(Composition over Inheritance)?

复合优先继承是一种用于面向对象编程语言的编程方法,用于帮助在应用程序中的对象之间建立更为动态和可变的关系。复合优先继承的基本格式是将一个对象的实例包含在另一个对象中。这很明显与面向对象的继承方法不同,但在...
复合优先继承是一种用于面向对象编程语言的编程方法,用于帮助在应用程序中的对象之间建立更为动态和可变的关系。复合优先继承的基本格式是将一个对象的实例包含在另一个对象中。这很明显与面向对象的继承方法不同,但在许多模型中可以达到相同的目的。组合优于继承的优点包括组合对象和包装对象之间定义良好的边界,能够在不影响整个继承层次结构的情况下更改对象的实现,以及对初始程序设计限制较少的框架。然而,一些复杂的情况可能包括序列化困难和在大型已建立程序中过于复杂的结构。面向对象编程中的手持计算机,在设计过程中需要确定的一个重要特征是不同对象之间的关系。继承是面向对象编程的一个中心机制,它允许一个对象继承其父对象的所有数据和方法,然后将其添加到其中,用它自己的实现进行修改或扩展。一个基于继承的设计示例可以是一个程序,它有一个主类,它定义了一辆汽车,并对所有汽车的一些通用属性进行了建模。然后,每个汽车品牌的类作为主类的后代,但定义了特定的信息,例如发动机尺寸、燃油容量或特定于该特定品牌汽车的其他信息。组成是通过在其他对象中包含对象实例来表示的。如果有一个主类定义了一个通用汽车,则不必为特定汽车品牌创建子类,主类可以包含更具体地定义汽车的其他对象的实例这可能意味着主car类可以包含一个引擎类型的对象和一个燃料容量的对象,当该类用于创建一个特定品牌汽车的实例时,该对象将被设置。在组合优先于继承的情况下,主类中包含的对象与主类不直接相关,这给了开发人员改变单个对象工作方式的自由。组合优先于继承有助于防止继承树过于深的情况,这意味着对树中某个类的任何修改都可能需要沿着树的长度进行更改。并非所有面向对象的语言都支持多重继承,组合优先于继承是一种可以用来解决此限制的方法
  • 发表于 2020-08-07 15:19
  • 阅读 ( 858 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具