Agregação vs. Composição
Contente
- 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
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
Base | Agregação | Composição |
Significado | Na 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ção | Há uma associação fraca na agregação. | Existe uma forte associação na composição. |
UML | Na UML, a agregação pode ser definida usando o segmento de linha | Na composição UML pode ser definida usando diamante. |
Função | A 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
- 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.
- 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.
- 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.
- 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.