加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oop – 关联和聚合之间的差异

发布时间:2020-12-14 00:51:21 所属栏目:百科 来源:网络整理
导读:我理解聚合和组合之间的区别,但我在关联方面有点挣扎.我目前的理解是,当“它们彼此使用”时,类之间存在关联,例如,在方法调用期间将一个对象传递给另一个对象.也可以看看: http://www.codeproject.com/Articles/330447/Understanding-Association-Aggregatio
我理解聚合和组合之间的区别,但我在关联方面有点挣扎.我目前的理解是,当“它们彼此使用”时,类之间存在关联,例如,在方法调用期间将一个对象传递给另一个对象.也可以看看:

http://www.codeproject.com/Articles/330447/Understanding-Association-Aggregation-and-Composit

两个对象都是独立存在的,与聚合相反,没有对象是另一个对象的容器类.这是否意味着两个对象必须有其他对象的副本(例如1:m关系)或者如何“存储”关联.任何反馈都将非常感谢.

来自UML上层建筑2.4.1:

An association declares that there can be links between instances of the associated types. A link is a tuple with one value for each end of the association,where each value is an instance of the type of the end. (UML Superstructure,Page 37)

没有更多,没有更少.而且很模糊.因此,它也很难理解.我定义的内容(在我教授的课程中)是从依赖到组合的链接层次结构,其中:

>从A到B的依赖意味着A使用B但是间接地(例如通过接收它的实例并将它们转发给其他对象).>从A到B的关联意味着A直接使用B(例如通过调用方法)>从A到B的聚合意味着B是A的一部分(语义上),但B可以共享,如果删除A,则不删除B.请注意,这并未说明如何实现“部分”.>从A到B的组合就像聚合,其中B不能被共享,如果A被删除,它的所有聚合(B)也被删除.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读