Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Design Pattern & UML  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:Aggregation 与 Composition 的区别? [Re:jameszhang]
mluo





发贴: 1
积分: 0
于 2004-11-30 04:10 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Composition实际上就是Aggregation的一种。

而Aggregation就是一种part-of的关系,A是B的一部分,就象points是ploygon的一部分,当ploygon变化的时候,那些点也就相应的变化; 发动机是汽车的一部分,汽车要更快,发动机就要更换(可能比喻不太好)。所以前面有个回复的解释composition用多边形与点的例子是错的,但后面"同生死"的概念是正确的,也是最重要的一点。

Compostion则属于Aggregation的一类,但表现得更strong。同样拿Ploygon来做例子,你有一个composited object,用来对这个ploygon进行着色等具体行为,当这个ploygon都没了,相应的这个composited part也更着消失掉。在UML里面有两种画图方式,一种是按照楼上几位画,还有一种是将这个composited object画在polygon class里面,这样理解起来更容易些,因为更能体现"同生死"的特性。

形象的解释你可以参考UML distilled,而完整定义则查看UML user guide。




话题树型展开
人气 标题 作者 字数 发贴时间
20498 Aggregation 与 Composition 的区别? jameszhang 7 2004-11-03 10:08
18917 Re:Aggregation 与 Composition 的区别? jameszhang 368 2004-11-03 11:22
20190 Re:Aggregation 与 Composition 的区别? mluo 500 2004-11-30 04:10
18656 Re:Aggregation 与 Composition 的区别? floater 693 2004-11-03 12:48
18570 Re:Aggregation 与 Composition 的区别? jameszhang 46 2004-11-03 13:31
18704 Re:Aggregation 与 Composition 的区别? wes109 336 2004-11-03 15:21
18590 Re:Aggregation 与 Composition 的区别? jameszhang 415 2004-11-03 16:09
18523 Re:Aggregation 与 Composition 的区别? wes109 24 2004-11-03 16:24
18491 Re:Aggregation 与 Composition 的区别? jameszhang 110 2004-11-04 08:08
18639 Re:Aggregation 与 Composition 的区别? floater 333 2004-11-04 11:10
18550 Re:Aggregation 与 Composition 的区别? jameszhang 409 2004-11-04 11:32
18465 Re:Aggregation 与 Composition 的区别? floater 4 2004-11-04 11:56
18517 Re:Aggregation 与 Composition 的区别? supertom 0 2004-11-18 09:18
18763 Re:Aggregation 与 Composition 的区别? WeiterWay 183 2004-11-24 10:42

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2018 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号
客服电话 0592-8750026    客服信箱 714923@qq.com    客服QQ 714923