关联、聚合(Aggregation)以及组合(Composition)的区别?

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 78 收藏 0 点赞 0 评论 0

涉及到UML中的一些概念:关联是表示两个类的一般性联系,比如“学生”和“老师”就是一种关联关系;聚合表示has-a的关系,是一种相对松散的关系,聚合类不需要对被聚合类负责,用空的菱形表示聚合关系

从实现的角度讲,聚合可以表示为:
class A {…}  class B { A* a; …..}
而组合表示contains-a的关系,关联性强于聚合:组合类与被组合类有相同的生命周期,组合类要对被组合类负责,采用实心的菱形表示组合关系

实现的形式是:
class A{…} class B{ A a; …}

评论列表
文章目录