由于父/子是为了继承,所以组合的术语是啥?
Posted
技术标签:
【中文标题】由于父/子是为了继承,所以组合的术语是啥?【英文标题】:As parent/child are for inheritance, what are the terms for composition?由于父/子是为了继承,所以组合的术语是什么? 【发布时间】:2016-10-12 20:36:26 【问题描述】:我不知道在哪里问这个,但我不知道如何用谷歌搜索这个。当 A 类继承 B 类时,A 是子类,B 是父类(或基类)。如果 C 类由 D(s) 组成,即如果 C 有 D(s),那么 C 和 D 的术语是什么?
【问题讨论】:
有许多可能的术语,它们在用法上可能重叠。当A继承B时:A是从B派生的,或者是B的子类,或者是B的子类。B是基类或超类或父类。在 C 和 D 的情况下:D 是 C 的属性或子项,C 是 D 的所有者或父项。因为它们不那么含糊,我更喜欢在描述继承关系时使用术语 Derived 和 Base 以及在描述继承关系时使用 Property 和 Owner指组成关系。 【参考方案1】:我认为您在谈论“拥有”或“使用”关系。例如,简单来说,如果 C 有 D 作为类属性(如 C++ 中的嵌入属性),则称为“C 有 D”,如果 C 仅具有 D 的指针作为属性,则称为“C 使用 D” .
【讨论】:
嗯,当然,但我期待“C 称为 Composer,D 称为组件”之类的术语。不幸的是,似乎没有像这样被广泛接受的术语,对吧?无论如何,谢谢你的回答。以上是关于由于父/子是为了继承,所以组合的术语是啥?的主要内容,如果未能解决你的问题,请参考以下文章