Ассоциация UML - что такое кодовый эквивалент «роли»? - PullRequest
0 голосов
/ 29 апреля 2020

Что такое кодовый эквивалент ассоциативной роли UML? Например, у меня есть диаграмма UML ниже:

UML example diagram

Существует ассоциативная стрелка из класса Graph в класс GraphNode. Рядом с ассоциативной стрелкой находится текст -nodesMap 0..*. Я понимаю, что это ассоциативные отношения с именем роли. Отношения от 0 до многих. У меня есть два вопроса об этой диаграмме и ее эквивалентах:

  1. Что означает da sh перед ролью? Является ли узловая карта частной?
  2. Что такое узловая карта в классе Graph? Является ли он членом класса Graph? Кроме того, если он является членом, каков его тип и почему он не указан в списке других переменных, например, в классе GraphNode (например, атрибут component)?

1 Ответ

1 голос
/ 29 апреля 2020

Что означает «да» 1043 * перед ролью? Является ли nodeMap частным?

да, обозначение:

  • +: publi c
  • -: личное
  • #: защищенный
  • ~: пакет

Что такое nodeMap в классе Graph? Является ли он членом класса Graph?

Да, для языка, поскольку Java nodeMap является атрибутом. В UML это означает, что свойство end принадлежит Graph .

Кроме того, если он является членом, каков его тип и почему он не указан в других переменных, как в классе GraphNode (например, атрибуте компонента)?

Его тип является коллекцией GraphNode , поскольку целью отношения является класс GraphNode , а кратность равна 0 .. *, означая любое число ≥ 0. Способ поддержки коллекции бесплатный без дополнительной информации о том, что она упорядочена и / или элементы уникальны и т. Д. c

Обратите внимание, что этот атрибут можно также представить среди других атрибутов в классе с помощью - nodesMap: GraphNode [0..*]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...