1

当我读到

聚合种类是协会成员端的属性

并且

聚合、关联和组合是属性的特征,它们作为关联端参与关联,称为AggregationKind。

你能通过一个UML简单例子来澄清这两个句子吗?

4

1 回答 1

2

很明显,这两个句子的含义基本相同。通常,在多对多关联中,关联本身具有两个或多个Properties作为MemberEnds。我们可以使用名为aggregationkind的类型分别描述这些属性。这个属性实际上有一个 AggregationKind 类型的属性聚合。

AggregationKind 是一种枚举类型,它指定用于定义属性聚合类型的文字,或者您可以简单地说AggregationKind借助以下基本文字定义聚合类型:

  • none表示该属性没有聚合。
  • shared表示该属性具有共享聚合。
  • 复合表示属性是复合聚合的,即复合对象负责组合对象(部分)的存在和存储。

正是这个AggregationKind指定了常规关联、聚合和组合之间的区别。我们可以借助下图来理解这一点: 在此处输入图像描述

注意:图表取自这里

有关此主题的一些有用链接:

  1. http://www.uml-diagrams.org/association.html

    2. http://www.cs.sjsu.edu/~pearce/modules/lectures/uml/class/Aggregation.htm

于 2013-06-26T02:56:32.923 回答