我想使用UML类图表示以下案例:
类似的东西:
基本上(在我看来),类A有一个C的集合,但是子类B只允许(最多)该集合中应该是D的实例的一个元素。
代表它的最佳方式是什么?
答案 0 :(得分:2)
要更改(限制)基数或专门化子类中的元素类型,您必须使用"重新定义"约束
在您的情况下,您的A类中的属性是
anAttribute:C[*]
然后在B级你会有
anAttribute:D[0..1] {redefines anAttribute}
当然,您可以在显示为关联的属性上使用相同的内容(如图中所示),然后在关联结束附近添加{redefines anAttribute}
(当然,关联结尾应该都命名为{{1}然后)。