Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Composição ou Agregação , como interpretar a diferença no código??

Nessa aula o professor faz no código um relacionamento entre duas classes a partir de uma ArrayList e surgiu uma duvida esse relacionamento é uma agregação ou uma composição?? Gostaria de saber a diferença entre esses dois tipos de relacionamento e se possível uma literatura que possa me ajudar a associar o código com os respectivos relacionamentos.

3 respostas

Bom dia Wagner. Já tive a mesma dúvida faz um tempo atrás e descobri que pra efeitos de código na programação não faz muita diferença. Ou seja, no diagrama de classes UML fazemos essa distinção, mas na pratica na hora de escrever o código os dois serão declarados da mesma forma. Mas ainda assim é bom entender os conceitos por trás da diferença conceitual entre Composição e Agregação pois isso pode influenciar nas suas regras de negócios sobre qual o efeito que uma classe terá sobre a outra.

Resumindo, na hora de declarar, em questão de código, as duas são iguais, mas no decorrer da programação isso pode fazer diferença.

Dá uma olhada nessa discussão do link abaixo, tem exemplo com código, acho que vai ajudar a entender.

https://www.guj.com.br/t/diferenca-entre-agregacao-e-composicao/65609

solução!

Oi Wagner, tudo bem?

Se uma classe tiver uma referência de entidade para outra classe, ela será conhecida como agregação. Agregação representa uma relação do tipo "tem uma/has a". Se uma classe tem um atributo de outra classe, dizemos que esse relacionamento é uma agregação.

Composição é um tipo de associação ainda mais forte que agregação. A composição também é um relacionamento caracterizado como parte / todo, mas, neste caso, o todo é responsável pelo ciclo de vida da parte. Por exemplo a classe Departamento ligada a Escola, se o objeto da classe Escola for destruído, todos os departamentos devem ser excluídos também.

https://www.ateomomento.com.br/uml-classes-agregacao/

Grato Otavio e Atila pela disposição em contribuir comigo!!