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

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

2 голосов
/ 02 марта 2012

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

диаграмма классов http://i44.tinypic.com/156wdq1.jpg

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

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

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

Ответы [ 2 ]

2 голосов
/ 02 марта 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.

То есть, поскольку в вашем примере есть стрелка, только class2 доступен для class1, а не наоборот.

1 голос
/ 02 марта 2012

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

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

...