Как определить перечисление в диаграмме объекта uml
Как я могу определить перечисление в диаграмме объекта?
+---------------------+
| <<enumeration>> |
| :DayOfTheWeek |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯ |
|_____________________|
| Sunday |
| Monday |
| Tuesday |
| ... |
+---------------------+
или вот так:
+---------------------------+
| <<enumeration>> |
| Sunday:DayOfTheWeek |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
|___________________________|
| |
+---------------------------+
+---------------------------+
| <<enumeration>> |
| Monday:DayOfTheWeek |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
|___________________________|
| |
+---------------------------+
Я думаю, что возможно создать только один экземпляр объекта перечисления, верно?
3 ответа
Если вы создаете экземпляр вашего перечисления, вы можете показать состояние объекта следующим образом:
Надстройки 2.1.1:
Имя, помечающее узел, указывает тип узла объекта. Имя также может быть квалифицировано штатом или штатами, которые должны быть записаны в скобках под названием типа. Верхние границы, порядок и тип элемента управления, отличные от значений по умолчанию, указываются в фигурных скобках под узлом объекта.
Перечисление - это тип данных, который имеет предопределенные литералы перечисления, такие как Sunday
, Monday
, а также Tuesday
, Каждый предопределенный литерал перечисления уже является экземпляром своего перечисления!
Вы можете использовать литерал перечисления в качестве значения свойства в некотором другом экземпляре объекта. Например, вы можете увидеть слот как dayOfWeek = Sunday
внутри экземпляра объекта типа CalendarEvent
предполагая CalendarEvent
тип определяет dayOfWeek
свойство типа DayOfTheWeek
,
Кстати, диаграмма классов может показывать как классы, так и экземпляры. Я не думаю, что в UML 2 есть такая вещь, как "диаграмма экземпляров", это просто разговорное имя для экземпляров на диаграмме классов.
Важно различать диаграммы классов и объектов. Если вы говорили о диаграмме классов, то на самом деле был только один класс вашего DayOfTheWeek
тип, но нет ограничений на количество объектов перечисления (если вы явно не определили его как singleton). Например, один объект перечисления может представлять воскресенье, а другой - пятницу.