3.2 Definindo agregações

A agregação é um tipo especial de associação usada para indicar que os objetos participantes não são apenas objetos independentes que sabem sobre o outro. Em vez disso, eles são montados ou configurados em conjunto para criar um novo objeto, mais complexo.

Por exemplo, um automóvel é composto por várias partes: motor, carroceria, rodas etc. A associação que essas peças têm com o automóvel é do tipo agregação: “um automóvel agrega várias partes juntas, como uma carroceria, um motor, quatro rodas etc.”.

Para modelar a agregação em um diagrama de classes:

Voltando ao nosso exemplo anterior, da venda de ingressos de cinema, podemos perceber que há uma relação intensa entre a sessão de cinema e o filme. Não faz sentido o objeto sessão sem ele estar associado a um filme, da mesma forma, um filme precisa possuir sessões (disponíveis) para permitir uma venda de ingressos. A sessão inclui um filme como parte do seu conjunto. Da mesma forma, também há uma relação entre as poltronas e a sessão de cinema. Não faz sentido o objeto poltrona sem que esteja associado a uma sessão, assim, uma sessão precisa possuir poltronas (disponíveis) para permitir uma venda. Observe que a sessão é o centro da questão, ela possui características próprias (como os horários) e incorpora outras informações (outros objetos), no caso, poltronas e filme. Sob essa ótica, poderíamos refinar a associação existente entre sessão, poltronas e filme, criando agregações e evoluindo o diagrama para a representação abaixo:

Evolução do diagrama anterior utilizando agregações
Copyright © 2014 AIEC.