Diferença Entre Agregação E Composição

Índice:

Diferença Entre Agregação E Composição
Diferença Entre Agregação E Composição

Vídeo: Diferença Entre Agregação E Composição

Vídeo: Diferença Entre Agregação E Composição
Vídeo: Relacionamento Entre Objetos, Associação, Agregação Simples e de Composição | #6 2024, Novembro
Anonim

Diferença chave - agregação vs composição

A Programação Orientada a Objetos (OOP) é um paradigma comum no desenvolvimento de software. O objeto é uma instância de uma classe. Não é possível criar objetos de uma vez. Deve haver um blueprint ou uma descrição para criar um objeto. Esse projeto é conhecido como uma classe. Uma classe contém propriedades e métodos. Os objetos são criados usando classes. Classe e objeto são semelhantes a um plano e uma casa no mundo real. Não é possível construir uma casa sem um plano adequado. Da mesma forma, uma classe é usada para criar um objeto. Um objeto colabora com outros objetos. Um link com representa o relacionamento de dois ou mais objetos é chamado de “associação”. Agregação e composição são tipos de associações. Eles descrevem a relação entre as classes. Este artigo discute a diferença entre agregação e composição. A principal diferença entre agregação e composição é que a agregação é uma associação entre dois objetos que descreve o relacionamento “tem um” e a composição é um tipo mais específico de agregação que implica propriedade.

CONTEÚDO

1. Visão geral e diferença fundamental

2. O que é agregação

3. O que é composição

4. Semelhanças entre agregação e composição

5. Comparação lado a lado - agregação versus composição na forma tabular

6. Resumo

O que é agregação?

Um relacionamento entre dois objetos é mostrado desenhando uma linha em Unified Modeling Language (UML). O link é uma associação. UML ajuda a obter uma representação visual do sistema. É diferente das linguagens de programação regulares. A associação também define a multiplicidade de objetos. Eles são um para um, um para muitos e muitos para muitos. Quando um único objeto da classe A está associado ao único objeto da classe B, isso é uma relação um-para-um. Um exemplo é um autor escrevendo um livro. Nesse exemplo, um autor está escrevendo um livro.

Quando um objeto da classe A está associado a muitos objetos da classe B, é um relacionamento um-para-muitos. Um exemplo é, um departamento pode ter muitos funcionários. Quando o objeto da classe A está associado a muitos objetos da classe B e um objeto da classe B está associado a muitos objetos da classe A, é uma associação muitos para muitos. Um exemplo é, um funcionário pode trabalhar em vários projetos e um projeto pode ter vários funcionários.

Agregação é a associação de tipo que descreve melhor o relacionamento entre os objetos. A agregação descreve “tem um” relacionamento. Alguns exemplos que descrevem a relação são, um aluno “tem um” id de aluno, um veículo “tem um” motor. Também é possível expandir uma grande quantidade com o relacionamento. Alguns exemplos são, um banco “tem muitas” contas bancárias, uma classe “tem muitos” alunos. Isso pode ser explicado usando o exemplo abaixo.

Diferença entre agregação e composição
Diferença entre agregação e composição

Figura 01: Agregação

De acordo com o exemplo acima, a sala de aula é composta por um aluno ou vários alunos. A multiplicidade também é usada para indicar o número de objetos. Ele descreve que uma sala de aula tem vários alunos. O símbolo do diamante representa a agregação em UML. Os objetos de aluno não dependem do objeto de classe. Se o objeto de classe for destruído, não afetará os objetos de aluno. Esses objetos ainda existirão.

O que é composição?

A composição é uma forma mais específica de agregação. Ele descreve a propriedade. Isso pode ser explicado usando o exemplo abaixo.

Diferença chave entre agregação e composição
Diferença chave entre agregação e composição

Figura 02: Composição

De acordo com o exposto, o objeto de livro consiste em um objeto de página ou páginas. A multiplicidade também é usada para indicar o número de objetos. Ele descreve que uma sala de aula tem vários alunos. O símbolo do diamante destacado representa a composição em UML. Como o livro tem uma página ou mais páginas, é uma agregação, mas é mais específica. Se o objeto de livro for destruído, os objetos de página também serão destruídos. Objetos de página não podem existir sem o objeto de livro. Portanto, a composição é uma forma mais específica de agregação que implica propriedade.

Quais são as semelhanças entre agregação e composição?

  • Ambos são usados na Programação Orientada a Objetos.
  • Ambos são usados em Unified Modeling Language (UML) para obter uma compreensão visual do sistema.

Qual é a diferença entre agregação e composição?

Artigo Diff meio antes da tabela

Agregação vs Composição

Agregação é uma associação entre dois objetos que descreve o relacionamento “tem um”. A composição é o tipo mais específico de agregação que implica propriedade.
Símbolo UML
A agregação é indicada por um diamante. A composição é indicada por um diamante destacado.
Funcionalidade
Na agregação, se o objeto proprietário for destruído, não afetará o objeto que o contém. Na composição, se o objeto proprietário for destruído, afetará o objeto que o contém.

Resumo - Agregação vs. Composição

A Programação Orientada a Objetos é um paradigma importante no desenvolvimento de software. Na OOP, o sistema é modelado usando objetos. Esses objetos não existem isoladamente. Os objetos colaboram com outros objetos. O relacionamento entre os objetos é conhecido como associação. Agregação e composição são tipos de associação. A diferença entre agregação e composição é que agregação é uma associação entre dois objetos que descreve o relacionamento “tem um” e composição é o tipo mais específico de agregação que implica propriedade. A agregação e a composição ajudam a entender o comportamento do sistema.

Baixe a versão em PDF de agregação x composição

Você pode baixar a versão PDF deste artigo e usá-la para fins off-line de acordo com a nota de citação. Faça o download da versão em PDF aqui. Diferença entre agregação e composição

Recomendado: