84
сущность, которая ее использует, причем обратное в общем случае не верно
[1].
Графически зависимость изображается в виде пунктирной стрелки,
которая
идет к той сущности, от которой зависит еще одна. Зависимости
применяются, чтобы показать, что один класс использует другой. Т.е. один
класс является клиентом другого класса-поставщика и использует этот класс-
поставщик как параметр своей операции.
Пример. Мы используем класс Order (Заказ)
как входной параметр
операции displayOrder (отобразитьЗаказ) класса OrderConfirmation
(
ПодтверждениеЗаказа). Так как для выполнения этой операции,
класс
OrderConfirmation (
ПодтверждениеЗаказа) использует класс Order
(Заказ), то они связаны отношением зависимости (рис. 106).
Рисунок 106. Зависимость между классами
Создание экземпляра класса ПодтверждениеЗаказа не повлечет за
собой создание экземпляра класса Заказ. Однако
эти два класса смогут
обмениваться сообщениями на диаграммах взаимодействия.
Обобщение – это отношение наследования между двумя элементами
модели. Оно дает классу возможность наследовать открытые или
защищенные атрибуты и операции суперкласса (класса от
которого
наследуются атрибуты и операции). Помимо наследуемых каждый класс
может иметь свои атрибуты и операции.
На диаграммах обобщение изображается в виде стрелки с не
закрашенным
треугольником у суперкласса, идущей от потомка.
Пример. В магазине могут работать различные сотрудники: сотрудник
отдела продаж, кладовщик, директор. Все они имеют общие свойства: имя,
адрес, телефон, дата рождения,
должность, поэтому можно рассматривать
обобщающую сущность Сотрудник, атрибуты и операции которой сущности
Директор и Кладовщик будут наследовать (рис. 107).