组合和聚合有什么区别?

ari*_*iso 4 java ooad

组合和聚合有什么区别?谁能给我一个这个OOAD的样本?

cha*_*aos 24

考虑学生,学生的大脑以及学生所在的学校.

大脑学生的一部分.如果学生被摧毁,大脑也是如此.这是作文.

这个学生有一所学校.学生在学校的破坏中幸存下来,反之亦然.这是聚合.


Eth*_*man 6

在这里找到

"聚合和组合都是特殊类型的关联.聚合用于表示所有权或整体/部分关系,而组合用于表示更强大的所有权形式.通过组合,我们获得与整体相关的一致生命.复合对象全权负责在创建和销毁方面处理其部件.

而且,总端的多重性不得超过一个; 即,它是非共享的.对象可以一次只是一个复合的一部分.如果复合材料被销毁,它必须要么销毁它的所有部分,要么将它们交给其他一些对象.可以设计复合对象,使其知道没有其他对象会破坏其部件.

组合可用于建模按值聚合,其在语义上等同于属性.实际上,组合最初在早期的UML草案中称为按值聚合,"正常"聚合被认为是按引用聚合.定义略有改变,但一般的想法仍然适用.聚合和组合之间的区别更多的是设计概念,在分析过程中通常不相关."John Moore