微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[转]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

原文地址:https://www.jb51.cc/javaschema/286948.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐