Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Отношения между классами в UML. Примеры



Классы могут находиться между собой в различных отношениях (связях). Базовыми отношениями являются:

· зависимость / dependency

· ассоциация / association

· агрегация / aggregation, в т.ч. композиция / composition

· обобщение / generalization

· реализация / realization.

Зависимость – это такое отношение между элементами, при котором изменение одного элемента влечет за собой изменение другого элемента или требует представление ему дополнительной информации. В зависимость включаются все виды связей.

А зависит от B, например, использует его операции.

Основные стереотипы зависимостей:

· become – превращаться

· bind – связывать

· call – вызывать

· copy – копировать

· create – создавать

· derive – выводить

· extend – расширять

· friend – быть дружественным

· import – импортировать

· include – включать

· instance of – являться экземпляром

· instantiate – создавать экземпляр

· power type – множество всех типов

· parameter – параметр

· refine – уточнять

· send – отправить

· trace – трассировка

· use - использовать

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

Пример бинарной ассоциации (участвуют два класса):

Иванов ООО «Ракурс»

Основные свойства:

· имя (уникальное в пакете)

· есть два полюса (у бинарной ассоциации)

· направленность ►

· каждый полюс связан с соответствующим классом

· каждый полюс состоит из экземпляров соответствующего класса

· множественность / multiplicity (проставляется у полюсов)

· каждый полюс имеет имя – роль полюса (работник, работодатель)

· навигация / navigable . Показывает, что со стороны противоположного полюса возможна навигация по экземплярам данного класса. Навигация может быть в одном, в двух направлениях или неопределенна.

В класс А добавляется дополнительный атрибут для доступа к чтению B (псевдоатрибут r2: B). запрет навигации.

· видимость:

× + public

× # private

× - protected

× ~ package

В ассоциации могут участвовать более двух классов: тернарная ассоциация.

В более сложных случаях сама ассоциация может быть классом: class assocication (используется в отношении M:N).

Исключающая ассоциация:

Агрегация (aggregation) - частный случай ассоциации, когда один из классов, называемых агрегатом, состоит из/включает в себя другие классы. Это отношение называется «часть/целое», part_of.

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

Композиция (composition) – это такая агрегация, при которой составные части не имеют самостоятельного значения и не могут существовать отдельно.

Композитный объект, композитный класс, композитный элемент.

Обобщение (generalization) – таксономическое отношение между родителем предка и частными примерами.

Обязательно соблюдается наследование признаков, свойств и поведения.

Overlapping / перекрытия.

Обобщение м.б. полным (complete) и неполным (incomplete). Полное включает все возможные классы ниже стоящего уровня. Неполные ограничиваются подмножеством. Многоточие показывает, что обобщение неполное. В UML допускается множественное наследование.

М.б. построена иерархия обобщений с неограниченным числом уровней. Всегда существует класс верхнего уровня – top-level класс.

Отношение реализации (realization) – это отношение между спецификацией и программной реализацией. Например, операция – метод. Client – тот, кто реализует; source – носитель спецификации. В UML источниками м.б. варианты использования, классы с неполной информацией, интерфейсы.





Дата публикования: 2015-02-18; Прочитано: 1055 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...