Отношения в диаграммах классов


В диаграммах классов можно использовать следующие отношения:

Ассоциации отображают структурные отношения между экземплярами классов, то есть соединения между объектами. Каждая ассоциация может иметь метку — имя, которое описывает природу отношения (рис. 3.10).

Рисунок 3.11 Отношение ассоциации

Когда класс участвует в ассоциации, он играет в этом отношении определенную роль. Роль определяет, каким представляется класс на одном конце ассоциации для класса на противоположном конце ассоциации. Один и тот же класс в разных ассоциациях может играть разные роли. Часто важно знать, как много объектов может соединяться через экземпляр ассоциации. Это количество называется мощностью роли в ассоциации.

В языке UML ассоциации могут иметь свойства. Свойства класса-ассоциации характеризуют не один, а пару объектов, в данном случае — Профессор и Университет (рис. 3.12).

Рисунок 3.12. Класс-ассоциация

Отношения агрегации и композиции в языке UML считаются разновидностями ассоциации, применяемыми для отображения структурных отношений между «целым» (агрегатом) и его «частями». Агрегация показывает отношение по ссылке (в агрегат включены только указатели на части), композиция — отношение физического включения (в агрегат включены сами части).

Агрегация – это связь между целым и его частью. Например, у вас может быть класс Автомобиль, а также классы Двигатель, Покрышки и классы для других частей автомобиля. В результате объект класса Автомобиль будет состоять из объекта класса Двигатель, четырех объектов Покрышек и т. д. (рис. 3.13).

 

Рисунок 3.13 Отношение агрегации

Согласно композиции, объект-часть может принадлежать только единственному целому, и, кроме того, как правило, жизненный цикл частей совпадает с циклом целого (агрегата): не могут существовать без целого, удаление целого распространяется на его части. Например, если необходимо удалить Клиента, то это удаление должно распространиться и на Заказы (рис.3.14).

 

Рисунок 3.14 Отношение агрегации

С помощью обобщений показывают связи наследования между двумя классами. Большинство объектно-ориентированных языков непосредственно поддерживают концепцию наследования. Она позволяет одному классу наследовать все атрибуты, операции и связи другого. На языке UML связи наследования называют обобщениями и изображают в виде стрелок от класса-потомка к классу-предку (рис. 3.15).

 

 

Рисунок 3.15. Отношение обобщения

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

Т. е. это отношение является отношением использования между клиентом (зависимым элементом) и поставщиком (независимым элементом). Обычно операции клиента:

● вызывают операции поставщика;

● имеют описания, в которых возвращаемое значение или аргументы принадлежат классу поставщика.

 

Рисунок 3.16. Отношение зависимости

На рис. 3.16. показано отношение зависимости между клиентом (Группой) и поставщиком (Шаблоном для поиска). В классе Группа есть метод Поиск, параметром которого является объект класса Шаблон.

Реализация – отношение между классами, при котором класс-приемник реализует операции, заявленные в классе-источнике (интерфейсе). Интерфейс – это абстрактный класс, в котором все составляющие — атрибуты и операции — абстрактны, он не может иметь экземпляров. Интерфейс нужен для того, чтобы определить логику работы с данной иерархией классов. На рис. 3.17. показано, что класс Студент реализует интерфейс IStudy, но способы реализации операций интерфейса у классов могут быть разные.

 

Рисунок 3.17. Отношение реализации



Дата добавления: 2021-05-28; просмотров: 310;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.