Recomendado, 2024

Escolha Do Editor

Diferença entre Agregação e Composição

Agregação e composição são os tipos de associação. A principal diferença entre agregação e composição é que a agregação implica um relacionamento em que o filho pode existir independentemente do pai. Por outro lado, a composição insinua uma relação em que a criança não pode existir independentemente do pai.

A programação orientada a objeto é um paradigma comum usado no desenvolvimento de software. O objeto é uma instância de uma classe criada por classes. Os objetos colaboram uns com os outros através de links. Links são a conexão física e conceitual existente entre objetos. Uma coleção de links com estrutura e semântica semelhantes é descrita como uma associação .

Gráfico de comparação

Base para comparaçãoAgregaçãoComposição
BasicEm agregação, exibem um relacionamento em que um filho pode existir independentemente do pai.Na composição, não pode existir independentemente do pai.
Tipo de relação"tem um""parte de"
Tipo de associaçãoAssociação fracaForte associação
Símbolo de design UMLRepresentado por um diamante oco ao lado da classe de montagem.Representado por um diamante sólido ao lado da classe de montagem.
FunçãoA exclusão da montagem não afeta suas partes.Se o objeto de classe proprietário for excluído, isso poderá afetar significativamente o objeto de classe contido.

Definição de Agregação

A agregação pode ser definida como um relacionamento com uma classe de montagem para a classe constituinte. O relacionamento entre dois objetos pode ser representado desenhando um segmento de linha em UML (Unified Modeling Language).

A agregação também é usada para especificar a multiplicidade de objetos, como um-para-um, um-para-muitos e muitos-para-muitos. Quando um objeto da classe X está associado a um único objeto da classe Y, nesse caso, existe um relacionamento um-para-um. Da mesma forma, se um único objeto de uma classe estiver associado a vários objetos de uma classe, esse relacionamento será chamado de um-para-muitos.

Por exemplo, um carro consiste em rodas, motor, caixa de câmbio, direção, corpo principal, etc. Um carro é uma montagem e as outras partes são seus componentes. Carro para rodas é uma agregação, carro para motores é outra agregação e assim por diante. Cada emparelhamento individual é definido para especificar a multiplicidade de cada parte constituinte dentro da montagem como resultado, o número de objetos também pode ser representado.

A agregação é um tipo de associação que descreve um tipo de relação “entre os objetos”. Por exemplo, um carro “tem uma” caixa de câmbio e um carro “tem um” motor . Para o relacionamento um-para-muitos, um exemplo é que um carro “tem” muitas rodas .

Definição de Composição

A composição também é um tipo de associação, mas uma forma mais restritiva. Ele é representado na UML por um minúsculo diamante sólido adjacente à classe de montagem.

Nesse tipo de associação, a parte constituinte pode ser vinculada a no máximo uma montagem. Além disso, quando uma parte constituinte colabora com a montagem, ela terá a vida útil concorrente com a montagem.

Assim, composição significa propriedade da parte constituinte do todo. Isso acabaria aumentando a conveniência da programação. A composição pode acionar a exclusão do objeto constituinte pela exclusão de um objeto de montagem.

A composição descreve um relacionamento “parte de” . Por exemplo, uma folha é uma parte de uma árvore, se a árvore for destruída, então as folhas devem ser destruídas.

Principais diferenças entre agregação e composição

  1. Agregação indica um relacionamento em que entidades filho e pai podem existir independentemente. Em contraste, na composição, a entidade filho é dependente do pai.
  2. Em agregação, existe um relacionamento "tem um", enquanto que na composição há um relacionamento "parte de" entre os objetos de classe assembly e constituinte.
  3. Agregação é fraca associação enquanto a composição é uma forte associação porque tem mais restrições.
  4. No projeto UML, a agregação é descrita por um diamante oco. Em contraste, a composição é representada por um diamante sólido.

Conclusão

Em agregação, as partes constituintes têm a existência independente e podem ser compartilhadas ou reatribuídas a agregados ou sua montagem. Por outro lado, na composição, a parte constituinte pertence a exatamente uma montagem ou agregado. Além disso, a parte é criada quando o agregado é formado e a parte é destruída quando o agregado é destruído.

Top