has-a 和 made-of 之间的区别?
在 OOP 建模中,“has-a”关系和“composed-of”关系之间有什么区别吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在 OOP 建模中,“has-a”关系和“composed-of”关系之间有什么区别吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
这两种说法通常都意味着组合。
但在我看来,composed-of总是意味着组合,而has-a有时可能意味着聚合(但是不在下图中)。在 UML 中,它看起来像:
(来源:atomicobject.com)
Both statements usually mean composition.
But it seems to me that composed-of always means composition while has-a sometimes can mean aggregation (but not in the picture below). In UML it looks like:
(source: atomicobject.com)
事实并非如此,因为两者都表明父对象包含子类的实例。这主要是语义差异,其中“has-a”表示两个不同对象之间的关联,其中“composed-of”表示子对象是父对象的组成部分。
Not really, since both indicate that a parent object contains an instance of a child class. It's mostly a semantic difference where "has-a" represents an association between two different objects, where "composed-of" indicates that the child is an integral part of the parent.