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

[转]UML类图中的关联、聚合、组合

发布时间:2020-12-14 05:53:21 所属栏目:百科 来源:网络整理
导读:关键字: uml 分析一下 UML 类图中关联、聚合、组合三者的定义与关系。 @author:ZJ 06-11-27 http://zhangjunhd.blog.51cto.com/ 1 .关联( Association ) 类之间的关联大多用来表示变量实例持有着对其他对象的引用。 Phone 拥有一个对 Button 的引用。 2
关键字: uml
分析一下UML类图中关联、聚合、组合三者的定义与关系。
@author:ZJ 06-11-27
http://zhangjunhd.blog.51cto.com/
1.关联(Association
类之间的关联大多用来表示变量实例持有着对其他对象的引用。

Phone拥有一个对Button的引用。
2.聚合(Aggregation
聚合是关联的一种特殊形式,它意味着一种整体/部分(whole/part)的关系。

一个整体不能是它自己的一部分。 因此 ,实例不能形成聚合回路,一个单独的对象不能够成为它自己的聚合,两个对象不能互相聚合,三个对象不能形成一个聚合环。
下图为实例间的非法聚合循环:

3.组合(Composition
组合是一种特殊的聚合形式。

?
UML对组合的定义:
①如同聚合,实例不能有循环。
②一个被所有者实例不能同时有两个所有者。
所有者负责被组合的对象的生命周期的管理。如果所有者被销毁,被所有者也必须跟着一起被销毁,如果所有者被复制,被所有者也必须跟着一起被复制。基于此点,可以用组合来描述深拷贝。
下图为非法组合:

4.参考资料
Robert Martin,UML for java programmers,2004
?

本文出自 “子 孑” 博客,请务必保留此出处http://zhangjunhd.blog.51cto.com/113473/36050

(编辑:李大同)

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

    推荐文章
      热点阅读