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

分析一下 UML 类图中关联、聚合、组合三者的定义与关系。
@author:ZJ 06-11-27
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值