Pergunta

Qual é a diferença entre a composição e agregação? Alguém pode me dar uma amostra deste OOAD?

Foi útil?

Solução

Encontrado aqui

"Tanto a agregação e composição são tipos especiais de associações. Aggregation é usado para representar a posse ou um relacionamento / parte inteira, e a composição é usada para representar uma forma ainda mais forte de propriedade. Com composição, temos tempo de vida coincidente de parte com o todo. o objeto composto é o único responsável para a disposição de suas partes em termos de criação e destruição.

Além disso, a multiplicidade da extremidade agregado não pode exceder um; isto é, é não partilhado. Um objecto pode fazer parte apenas de um composto de cada vez. Se o composto é destruída, ela deve ou destruir todas as suas partes ou responsabilidade dar outra coisa para eles para algum outro objeto. Um objeto composto pode ser projetado com o conhecimento de que nenhum outro objeto irá destruir suas partes.

Composição pode ser usado para o modelo-agregação de valor, que é semanticamente equivalente a um atributo. Na verdade, a composição foi originalmente chamado de agregação por valor em um projeto de UML mais cedo, com agregação “normal” a ser pensado como a agregação por referência. As definições mudaram um pouco, mas as idéias gerais ainda se aplicam. A distinção entre agregação e composição é mais um conceito de design e geralmente não é relevante durante a análise ". John Moore

Outras dicas

Considere um estudante, o cérebro do aluno e da escola os atende estudantes.

O cérebro é uma parte o estudante. Se o aluno é destruído, por isso é o cérebro. Esta é composição .

O estudante tem um escola. O estudante sobrevive destruição da escola, e vice-versa. Esta é agregação .

resposta relevante para a sua pergunta aqui: http://ootips.org/uml-hasa.html

Em suma: composição e agregação são acíclico tem-um relacionamento constituídos por um parte e toda . A diferença é que com a composição, a toda é responsável por criar (e excluir) a sua parte s.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top