Основы разработки программного обеспечения вычислительных систем. Милованов И.В - 38 стр.

UptoLike

38
АГРЕГАЦИЯ
Связи обозначают равноправные (клиент-серверные) отношения ме-
жду объектами. Агрегация обозначает отношения объектов в иерархии
«целое/часть». Агрегация обеспечивает возможность перемещения от це-
лого (агрегата) к его частям (свойствам).
В примере из подраздела «Связи» объект «РабочийКонтроллер» име-
ет свойство регулятор, чьим классом является «РегуляторУгла». Поэтому
объект «РабочийКонтроллер» является агрегатом (целым), а экземпляр
«РегуляторУгла» – одной из его частей. Из объекта «РабочийКонтроллер»
всегда можно попасть в объект «РегуляторУгла». Обратный же переход
(из части в целое) обеспечивается не всегда.
Агрегация может обозначать, а может и не обозначать физическое
включение части в целое. На рисунке 2.7 приведён пример физического
включения (композиции) частей (Двигателя, Сидений, Колес) в агрегат Ав-
томобиль. В этом случае говорят, что части включены в агрегат по величине.
На рисунке 2.8 приведён пример нефизического включения частей
(Студента, Преподавателя) в агрегат ВУЗ. Очевидно, что Студент и Пре-
подаватель являются элементами ВУЗа, но они не входят в него физиче-
ски. В этом случае говорят, что части включены в агрегат по ссылке.
Рис. 2.7. Физическое включение частей в агрегат
Рис. 2.8. Нефизическое включение частей в агрегат