Диаграммы классов UML

Я новичок в UML и пытаюсь разобраться в диаграммах классов. Например, см. следующую диаграмму (предположим, что область действия общедоступна):

диаграмма классов

Может ли класс 1 напрямую обращаться к любым методам и атрибутам, указанным ниже, в других классах или он может обращаться только к своим собственным методам и атрибутам? Точно так же может ли, например, класс 2 получить доступ к методам и атрибутам класса 1?

Основная причина, по которой я спрашиваю, заключается в том, что мне нужно создать операцию отчета, которая вычисляет доход за дни, и доход будет рассчитываться путем повторения классов и суммирования, а затем возврата значения.

Большое спасибо


person mjsey    schedule 02.03.2012    source источник
comment
Проголосовал, так как я тоже кое-что узнал из вашего вопроса.   -  person Michel Keijzers    schedule 02.03.2012


Ответы (2)


Вы показываете одностороннюю связь между классом 1 и классом 2 и обобщение класса 2 на классы 3, 4 и 5. В этом случае класс 1 может видеть все общедоступные атрибуты и методы класса 2. Он также будет иметь возможность видеть те же самые атрибуты и методы классов 3, 4 и 5. Однако не показано, что он имеет видимость каких-либо расширенных атрибутов и методов классов 3, 4 и 5. Кроме того, класс 2 не имеет видимости для Атрибуты или методы класса 1 из-за односторонней связи.

Имейте в виду, что то, что показано в UML, не является строгим описанием того, как видимость будет работать в реализации. Вы показываете важные отношения в UML. Например, даже если вы не показываете видимость класса 1 для класса 2, по всей вероятности, ваша реализация класса 2 сможет видеть всех открытых членов класса 1.

person Peter Cetinski    schedule 02.03.2012

См. http://www.objectmentor.com/resources/articles/umlClassDiagrams.pdf, абзац Композиция Отношения.

В нем говорится:

In UML relationships are presumed to be bidirectional unless the arrowhead is
present to restrict them.

Это означает, что, поскольку в вашем примере есть стрелка, только класс 2 доступен для класса 1, а не наоборот.

person Michel Keijzers    schedule 02.03.2012
comment
Плюс за ссылку на umlClassDiagrams.pdf. Именно то, что я искал. - person Volodymyr Krupach; 30.10.2012