黑马程序员技术交流社区

标题: 分享下聚合和组合的区别 [打印本页]

作者: 苏-L-w    时间: 2014-6-26 23:23
标题: 分享下聚合和组合的区别
    聚合和组合的区别:

1.聚合关系也称"has-a"关系,组合关系也称"contains-a"关系

2.聚合关系表示事物的整体/部分关系的较弱情况,组合关系表示事物的整体/部分关系的较强的情况.

3.在聚合关系中,代表部分事物的可以属于多个聚合对象,可以为多个聚合对象共享,而且可以随时改变它所从属的聚合对象.代表部分事物的对象与代表聚合事物    对象的生存期无关,一旦删除了它的一个聚合对象,不一定也就随即删除代表部分事物的对象.在组合关系中,代表整体事物的对象负责创建和删除代表部分事物的对象,代表部分事物只属于一个组合对象.一旦删除了组合对象,也就随即删除了相应的代表部分事物的对象.

举个通俗的例子你可能更好懂些:
聚合(Aggregation):-----Has a---------------人拥有电脑

  聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象

组合(Composition):----Contains a----------人是由手,脚,脸等部分组成的

  组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2