我有一个问题,我想用UML类图表示。 我有一个A类,它有自己的名字和B的元素集合(0 .. *)。 然而,B类是抽象的,因此A中元素的集合可以是B1或B2(B的特化)。 我想澄清一个事实,即集合必须完整地呈现给所有B1或B2,这不允许混合不同的元素,但我不知道如何在UML上表示这一点。你的建议肯定有帮助。
+---+
| A |
+---+
|
|0..*
+---+ +----+
| B |<---| B1 |
+---+ +----+
^
|
+----+
| B2 |
+----+
答案 0 :(得分:0)
根据抽象的(或界面)创建两个真实的集合。从A到这个抽象集合的引用。因为它是抽象的,为了实现你必须采取其中一个可实现的。它是抽象类的另一种用法。
我担心,我无法用如此漂亮的老式字母数字图形来管理它。
另外,我认为,最好还是添加解释说明。因为它可能很难理解。
编辑:我想评估你希望在课堂上实现这个概念,而不是if-then-else。这样我们就可以保证集合中没有混合类型。
答案 1 :(得分:0)
UML中的集合是隐式定义的。如果属性或关联结束的多重性设置为多个,则为集合。集合中的元素类型是分配给属性或关联端的类型。集合类型由paraneters定义,是独立的musltiplicity。它由靠近属性(关联结束)的关键字描述。