В UML агрегация недостаточно определена, и поскольку у них нет четко определенной семантики.
Действительный вариант использования агрегации - это инкапсуляция нескольких классов, как указано в «Управлении доменами» Эрика Эванса.
например. У машины четыре колеса.
Возможно, вы захотите рассчитать общее количество метров, которое проехало каждое колесо, для каждой машины.
Этот расчет выполняется объектом-автомобилем, поскольку он знает, какие у него колеса, и вам все равно, какие колеса принадлежат какому автомобилю.
Автомобиль является корнем агрегации для всех его частей, таких как колеса, и вы не можете получить доступ к частям автомобиля снаружи агрегации, только к корню.
Таким образом, в основном агрегация инкапсулирует набор классов, которые принадлежат друг другу.