2014-01-11 136 views
2

我有一个问题,我想用UML类图来表示。 我有一个A类,它有自己的名字和B的元素的集合(0 .. *)。 然而,B类是抽象的,因此A中元素的集合可以是B1或B2( B)。 我想澄清这样一个事实,即集合必须完整地呈现给B1或B2的所有人,但不允许混合不同的元素,但我不知道如何在UML上表示这一点。你的建议肯定会有所帮助。在UML图中指定集合类型

+---+ 
| A | 
+---+ 
    | 
    |0..* 
+---+ +----+ 
| B |<---| B1 | 
+---+ +----+ 
^
    | 
+----+ 
| B2 | 
+----+ 

回答

0

根据抽象(或接口)作出两个真正的集合。从A引用这个抽象集合。由于它是抽象的,因此你必须采取其中一种可以实现的措施。这是一个抽象类的更多用途。

enter image description here

我很害怕,我不能在这么漂亮的老式字母图形管理。

另外,我认为,最好是增加一个解释说明。因为这可能很难理解。

编辑:我想评估你希望在课堂上实现这个概念的水平,而不是如果 - 那么其他的。这样我们可以真正保证收集中不会出现混合类型。

0

UML中的集合是隐式定义的。如果属性或关联端具有被设置为多于一个的多重性,则为集合。集合中的元素类型是分配给属性或关联结束的类型。收集类型由paraneters定义,是唯一的。它由接近属性的关键字(关联结束)来描述。