Агрегация

Вернемся к компьютерной системе. Она состоит из системного блока, клавиатуры, мыши, монитора, устройства проигрывания компакт-дисков, одного или более жест­ких дисков, модема, дисковода для гибких дисков размером 3,5 дюйма, принтера и, возможно, колонок. Внутри системного блока наряду с перечисленными выше уст­ройствами есть процессор, графическая карта, звуковая карта и другие элементы, ко­торые можно обнаружить при более тщательном осмотре.

Компьютер представляет собой агрегат, получаемый при другом типе ас­социации между объектами. Подобно другим объектам, компьютер со­стоит из различных компонентов (рис. 2.11). В жизни существует много примеров агрегации.

Рис. 2.11. Пример агрегации — типичная компьютерная система, созданная из комбинации нескольких объектов разных типов

Один из типов агрегации предполагает тесную связь между объектом-агрегатом и составляющими его компонентами. Это называется композици­ей. Главной особенностью композиции является то, что компонент существует в виде такового только в рамках композитного объекта. Например, ру­башка — это композиция основной части, воротника, рукавов, пуговиц, петель и манжет. Порвите рубашку, и рукава станут бесполезными.

Иногда компоненты существуют не так долго, как содержащий их композитный объект. Листья на дереве погибают раньше всего дерева. Если сломать дерево, погиб­нут и листья (рис. 2.12).

Рис. 2.12. Компонент иногда погибает раньше содержащего его компо­зита. Но если разрушить композит, то разрушается и компонент

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