Рисунок 107. Отношение обобщения между классами
Если
Сотрудник
имеет в качестве атрибутов имя, адрес, телефон, дату
рождения, должность, то сущности,
Директор
и
Кладовщик
, конечно,
наследуют эти атрибуты со своими значениями. Кроме того они могут иметь
и собственные атрибуты или операции. Например, у
Директора
может быть
операция
уволитьСотрудника
, которой не может быть у
Кладовщика
, а у
последнего операция -
выдатьТовар
.
Закрытые атрибуты и операции
не могут
наследоваться потомками.
Пример.
Определим отношения между классами сценария
Оформление заказа
(рис. 108)
.
Проанализировав диаграмму последовательности выясняем, что класс
PlaceOrder
связан с
EnterPersonalInformation
, а объект
ConfirmOrder
посылает
сообщения
объекту
класса
PlaceOrderManager
.
PlaceOrderManager
связан с объектами классов
Order
и
OrderConfirmation
.
Для всех перечисленных связей определим отношения ассоциации.
Класс
OrderConfirmation
использует класс
Order
как параметр своей
операции: между ними определим отношение зависимости.
Экземпляры класса
Order
состоят из экземпляров класса
Item
. Между
ними создадим отношение агрегации.
Для того чтобы класс
ConfirmOrder
мог выполнять операцию
подтверждения
заказа,
он
должен
быть
связан
с
классом
EnterPersonalInformation
, поэтому создадим между ними отношение
ассоциации.
|