Agregação vs. Composição

Autor: Laura McKinney
Data De Criação: 4 Abril 2021
Data De Atualização: 5 Poderia 2024
Anonim
Agregação vs. Composição - De Outros
Agregação vs. Composição - De Outros

Contente

A principal diferença entre agregação e composição é que, na agregação, existe um relacionamento pai-filho no qual o filho pode existir independentemente, enquanto composição é um relacionamento pai-filho no qual o filho não pode existir independentemente sem um pai.


Associação é um conceito muito importante na programação orientada a objetos. Na programação orientada a objetos, os dados são ocultos das funções não membros de uma classe. Somente a função de membro de uma classe pode usar dados. Qualquer função não membro pode modificar os dados que estão dentro da classe de função. Objeto e classes são os principais conceitos de programação orientada a objetos. O encapsulamento de dados que também é conhecido como abstração e herança também é obtido na programação orientada a objetos. Agregação e composição são tipos de associação e são um conceito muito importante na programação orientada a objetos. Na agregação, existe um relacionamento pai-filho no qual um filho pode existir independentemente, enquanto composição é um relacionamento pai-filho no qual um filho não pode existir independentemente sem um pai. A composição tem um paradigma comum na programação orientada a objetos que é muito importante no desenvolvimento de software. A forma restritiva de associação é uma composição na qual existe um relacionamento pai-filho no qual o filho não pode existir independentemente sem um pai. Na UML, é representado por um pequeno diamante sólido.


Na composição, a parte constituinte pode ser vinculada à maioria na montagem. Uma classe se torna contêiner e outra classe se torna conteúdo que está nesse contêiner. Isso tem uma parte de herança muito fácil, e o método de uma classe pode ser usado sem nem mesmo escrever o código inteiro novamente. Existe uma parte da relação na composição. A agregação é um relacionamento com uma classe de montagem para a classe constituinte. Na UML, essa é a linguagem de modelagem unificada que mostra o relacionamento de agregação com um segmento de linha. A agregação mostra um relacionamento como um para um, um para muitos, muitos para muitos. Se a classe única tiver várias classes, há um para muitos relacionamentos, enquanto muitas classes têm vários objetos, é o relacionamento muitos para um. "Tem um" é um relacionamento descrito em agregação.


Conteúdo: Diferença entre Agregação e Composição

  • Gráfico de comparação
  • O que é agregação?
  • Principais diferenças
  • Conclusão
  • Vídeo explicativo

Gráfico de comparação

BaseAgregação Composição
SignificadoNa agregação, existe um relacionamento pai-filho no qual o filho pode existir independentemente

A composição é um relacionamento pai-filho no qual um filho não pode existir independentemente sem um pai.

 

AssociaçãoHá uma associação fraca na agregação.Existe uma forte associação na composição.
UMLNa UML, a agregação pode ser definida usando o segmento de linhaNa composição UML pode ser definida usando diamante.
FunçãoA exclusão da montagem não tem efeito na agregação.A exclusão da composição pode afetar a composição

O que é agregação?

A agregação é um relacionamento com uma classe de montagem para a classe constituinte. Na UML, essa é a linguagem de modelagem unificada que mostra o relacionamento de agregação com um segmento de linha. A agregação mostra um relacionamento como um para um, um para muitos, muitos para muitos. Se a classe única tiver várias classes, há um para muitos relacionamentos, enquanto muitas classes têm vários objetos, é o relacionamento muitos para um. "Tem um" é um relacionamento descrito em agregação.

O que é composição?

A forma restritiva de associação é uma composição na qual existe um relacionamento pai-filho no qual o filho não pode existir independentemente sem um pai. Na UML, é representado por um pequeno diamante sólido. Na composição, a parte constituinte pode ser vinculada à maioria na montagem. Uma classe se torna contêiner e outra classe se torna conteúdo que está nesse contêiner. Essa parte da herança é muito fácil, e o método de uma classe pode ser usado sem nem mesmo escrever o código inteiro novamente. Existe uma parte da relação na composição.

Principais diferenças

  1. Na agregação, existe um relacionamento pai-filho no qual o filho pode existir independentemente, enquanto Composition é um relacionamento pai-filho no qual um filho não pode existir independentemente sem um pai.
  2. Existe uma fraca associação na agregação, enquanto existe uma forte associação na composição, enquanto existe uma forte associação na composição.
  3. A agregação In UML pode ser definida usando o segmento de linha, enquanto a composição In UML pode ser definida usando o diamante.
  4. A exclusão da montagem não tem efeito na agregação, enquanto a exclusão da composição pode afetar a composição

Conclusão

Neste artigo acima, vemos a clara diferença entre agregação e composição com exemplos.

Vídeo explicativo