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

Índice:

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

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

Vídeo: Diferença Entre Agregação E Composição Em Java
Vídeo: Relacionamento entre objetos (Associação, Agregação e Composição) #Java 2024, Abril
Anonim

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

A 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. A principal diferença entre agregação e composição em Java é que, se o objeto contido pode existir sem a existência do objeto proprietário, ele é uma agregação e se o objeto contido não pode existir sem a existência do objeto proprietário, é uma composição.

A Programação Orientada a Objetos (OOP) é um paradigma importante no desenvolvimento de software. É usado para modelar o software usando objetos. Os objetos são criados usando classes. Uma classe consiste em propriedades e métodos. Existem vários objetos no software. Cada objeto colabora entre si por meio da passagem de mensagens. O relacionamento entre dois objetos é conhecido como associação. Tanto a agregação quanto a composição são dois tipos de associação. O relacionamento “tem um” descreve que um objeto pode usar outro objeto. A agregação e a composição podem ser implementadas em linguagens de suporte OOP. Se o objeto contido pode existir sem a existência do objeto proprietário, a associação entre esses dois objetos é uma agregação. Se o objeto contido não pode existir sem a existência do objeto proprietário,então a associação entre esses dois objetos é uma composição.

CONTEÚDO

1. Visão geral e diferença principal

2. O que é agregação em Java

3. O que é composição em Java

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

5. Comparação lado a lado - Agregação versus composição em Java na forma tabular

6. Resumo

O que é agregação em Java?

A agregação é um tipo de associação. Se uma classe tiver uma referência de entidade, isso é conhecido como agregação. A agregação representa o relacionamento tem-um. Um objeto Aluno pode ter propriedades como student_id, nome, endereço. Este objeto também pode ter outro objeto denominado endereço com suas próprias informações como cidade, estado, país. Nesta situação, o Aluno possui um endereço de referência da entidade. É um relacionamento “tem um”.

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

Figura 01: Classe de Marcas

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

Figura 02: Programa principal para descrever a agregação

De acordo com o programa acima, a classe Marcas consiste em três propriedades que são Matemática, Inglês e Ciências. O Aluno tem um objeto de Marcas. Tem propriedades próprias que são marcas da matemática, do inglês e das ciências. No método principal, um objeto de Marcas é criado e os valores das marcas são atribuídos. O objeto de aluno que é s1 pode usar o objeto de marcas que é m1. Portanto, o Aluno e as Marcas têm a relação “tem um”. O objeto Marks pode existir sem o objeto Student. Portanto, é uma agregação.

O que é composição em Java?

Composição é um tipo de associação. É uma forma específica de agregação que implica propriedade. Suponha que existam duas classes chamadas classe A e B. Se o objeto da classe B não puder existir se o objeto da classe A for destruído, então isso é uma composição. Um livro consiste em muitas páginas. Se o livro for destruído, as páginas também serão destruídas. Os objetos de página não podem existir sem o objeto de livro. Consulte o programa abaixo.

Diferença entre agregação e composição em Java Figura 03
Diferença entre agregação e composição em Java Figura 03

Figura 03: Sala de aula

Diferença entre agregação e composição em Java Figura 04
Diferença entre agregação e composição em Java Figura 04

Figura 04: Classe Escolar

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

Figura 05: Programa principal para descrever a composição

De acordo com o programa acima, a Sala de Aula tem duas propriedades que são nome e numOfStudents. A escola é uma coleção de objetos de sala de aula. No método principal, dois objetos Classroom são criados. Esses são adicionados às 'salas de aula'. Essas 'salas de aula' são passadas para o objeto escolar. Finalmente, o nome da sala de aula e o número de alunos são impressos iterando pela coleção. Se o objeto Escola for destruído, os objetos Sala de aula também serão destruídos. Este é um exemplo de composição. Ele também contém o relacionamento 'tem um' e também implica propriedade.

Qual é a relação entre agregação e composição em Java?

Agregação e Composição são dois tipos de Associação e Composição é um tipo especializado de Agregação. A composição é um subconjunto da agregação

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

Artigo Diff meio antes da tabela

Agregação vs composição em Java

Agregação é uma associação entre dois objetos que descreve o relacionamento “tem um”. Composição é um tipo mais específico de agregação que implica propriedade.
Uso
A agregação é usada quando um objeto usa outro objeto. A composição é usada quando um objeto possui outro objeto.
Afeto em objetos
Na agregação, destruir o objeto proprietário não afetará o objeto que o contém. Na composição, destruir o objeto que o possui afetará o objeto que o contém.

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

Agregação e composição são dois conceitos em OOP. O relacionamento “tem um” descreve que um objeto pode usar outro objeto. A agregação é uma associação entre dois objetos que descreve o relacionamento "tem um". Composição é um tipo mais específico de agregação que implica propriedade. A diferença entre agregação e composição em Java é que, se o objeto contido pode existir sem a existência do objeto proprietário, ele é uma agregação e se o objeto contido não pode existir sem a existência do objeto proprietário, é uma composição.

Recomendado: