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

前端之家收集整理的这篇文章主要介绍了oop – 关联和聚合之间的差异前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我理解聚合和组合之间的区别,但我在关联方面有点挣扎.我目前的理解是,当“它们彼此使用”时,类之间存在关联,例如,在方法调用期间将一个对象传递给另一个对象.也可以看看:

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)也被删除.

原文链接:https://www.f2er.com/javaschema/282037.html

猜你在找的设计模式相关文章