UML类图:类重写关系基数

时间:2016-08-18 18:25:04

标签: uml relationship diagram override cardinality

我想使用UML类图表示以下案例:

  • 具有C
  • 元素的A类
  • 一个B类,它是A的一个子类,包含一个D元素,它是C
  • 的子类

类似的东西:

Example

基本上(在我看来),类A有一个C的集合,但是子类B只允许(最多)该集合中应该是D的实例的一个元素。

代表它的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

要更改(限制)基数或专门化子类中的元素类型,您必须使用"重新定义"约束

在您的情况下,您的A类中的属性是

anAttribute:C[*]

然后在B级你会有

anAttribute:D[0..1] {redefines anAttribute}

当然,您可以在显示为关联的属性上使用相同的内容(如图中所示),然后在关联结束附近添加{redefines anAttribute}(当然,关联结尾应该都命名为{{1}然后)。