如何在uml对象图

时间:2015-05-14 23:25:33

标签: uml enumeration object-diagram

如何在对象图中定义枚举?

+---------------------+
|   <<enumeration>>   |
|    :DayOfTheWeek    |
|    ¯¯¯¯¯¯¯¯¯¯¯¯¯    |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
+---------------------+

或者那样:

+---------------------------+
|      <<enumeration>>      |
|    Sunday:DayOfTheWeek    |
|    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯    |
|___________________________|
|                           |
+---------------------------+

+---------------------------+
|      <<enumeration>>      |
|    Monday:DayOfTheWeek    |
|    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯    |
|___________________________|
|                           |
+---------------------------+

我认为只能创建一个枚举对象的实例,是吗?

3 个答案:

答案 0 :(得分:0)

枚举是具有预定义枚举文字的数据类型,例如SundayMondayTuesday。每个预定义的枚举文字已经枚举的实例!

您可以在其他对象实例中使用枚举文字作为属性值。例如,假设dayOfWeek = Sunday类型定义类型为CalendarEvent的{​​{1}}属性,您可能会在CalendarEvent类型的对象实例中看到dayOfWeek之类的插槽。

BTW,类图可以显示类和实例。我不认为有一个&#34;实例图&#34;在UML 2中,这只是类图上实例的通俗名称。

答案 1 :(得分:0)

如果您创建枚举实例,则可以显示对象状态,如下所示: enter image description here

上层建筑2.1.1:

  

标记节点的名称表示对象节点的类型。该   名称也可以由一个或多个州来限定   写在类型名称下面的括号内。上限,   除了默认值之外的排序和控制类型   对象节点下面的大括号。

答案 2 :(得分:-1)

区分对象图表非常重要。如果你在谈论类图,确实只有一个类DayOfTheWeek类,但枚举对象的数量没有限制(除非你明确地将其定义为单例)。例如,一个枚举对象可以代表星期日,另一个可以代表星期五。