0

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

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

或者像这样:

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

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

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

4

3 回答 3

0

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

您可以将枚举文字用作其他对象实例中的属性值。例如,您可能会dayOfWeek = Sunday在 type 的对象实例中看到一个插槽CalendarEvent,假设该CalendarEvent类型定义了 type 的dayOfWeek属性DayOfTheWeek

顺便说一句,类图可以显示类和实例。我认为 UML 2 中没有“实例图”之类的东西,它只是类图上实例的通俗名称。

于 2015-05-15T02:21:45.473 回答
0

如果您创建枚举的实例,您可以像这样显示对象状态: 在此处输入图像描述

上层建筑 2.1.1:

标记节点的名称指示对象节点的类型。该名称也可以由一个或多个状态限定,该状态将写在类型名称下方的括号内。除默认值外的上限、排序和控件类型在对象节点下方的大括号中表示。

于 2015-05-15T09:14:13.743 回答
-1

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

于 2015-05-14T23:42:35.103 回答