![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Классы могут находиться между собой в различных отношениях (связях). Базовыми отношениями являются:
· зависимость / 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; Прочитано: 1076 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!