This post is a translation to portuguese from a response to a thread at Stackoverflow.com, user cletus.

Agregação e Composição

O termo composição é geralmente usado na modelagem de objetos como uma expressão de uma relação “tem um” e é uma forma de associação (sendo outra a agregação). Tal relação frequentemente é contrastada com a herança, ou seja, “é um”.

Portanto qual a diferença entre composição e agregação? A composição implica em que o objeto filho (o objeto referenciado) não pode existir fora do contexto do pai (o objeto que faz a referencia ao filho).

Por exemplo; uma casa tem uma ou mais salas. Que é uma relação de composição. Delete a casa e as salas também deixarão de existir. A casa também tem ocupantes, sendo instâncias da classe Pessoa, que é uma relação de agregação, pois as pessoas podem continuar existindo fora do contexto da casa.

———————-

Traduzi este post porque gosto de explicações com bons exemplos e principalmente exemplos que são fáceis de lembrar, depois de ler essa explicação eu sempre uso a letra de C de composição para lembrar da relação Casa/salas.

© 2013 Renato Gama Suffusion theme by Sayontan Sinha