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: 10 - Associação, agregação e composição 2024, Julho
Anonim

Key Difference – Agregação vs Composição em Java

Agregação é uma associação entre dois objetos que descreve o relacionamento “tem-a”. 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, é uma agregação, e se o objeto contido não pode existir sem a existência do objeto proprietário, é uma composição.

Programação Orientada a Objetos (POO) é um paradigma importante no desenvolvimento de software. Ele é 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 através da passagem de mensagens. A relação entre dois objetos é conhecida como associação. Tanto a agregação quanto a composição são dois tipos de associação. A relação “tem-a” descreve que um objeto pode usar outro objeto. Agregação e 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.

O que é Agregação em Java?

Agregação é um tipo de associação. Se uma classe tem uma referência de entidade, ela é conhecida como agregação. A agregação representa o relacionamento tem-um. Um objeto Student pode ter propriedades como student_id, name, address. Este objeto também pode ter outro objeto chamado endereço com suas próprias informações como cidade, estado, país. Nesta situação, o Aluno tem um endereço de referência de 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 Agregação

De acordo com o programa acima, a classe Marks consiste em três propriedades que são Maths, English e Sciences. O Aluno tem um objeto de Marcas. Tem suas próprias propriedades que são marcas de matemática, inglês e ciências. No método principal, um objeto de Marcas é criado e os valores das marcas são atribuídos. O objeto aluno que é s1 pode usar o objeto de marcas que é m1. Portanto, o Aluno e as Notas têm a relação “tem-a”. 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 pode existir se o objeto da classe A for destruído, então isso é uma composição. Um livro é composto por 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: Aula em 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: Turma 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, o Classroom tem duas propriedades que são name e numOfStudents. A Escola é uma coleção de objetos do Classroom. No método main, são criados dois objetos Classroom. 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 pela iteração 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-a' 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. Composição é um subconjunto de Agregação

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

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
Agregação é usada quando um objeto usa outro objeto. Composition é usado quando um objeto possui outro objeto.
Afetar Objetos
Na agregação, destruir o objeto proprietário não afetará o objeto que o contém. Na composição, destruir o objeto proprietário 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 POO. A relação “tem-a” descreve que um objeto pode usar outro objeto. A agregação é uma associação entre dois objetos que descreve o relacionamento “tem-a”. A 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, é uma agregação e se o objeto contido não pode existir sem a existência do objeto proprietário, é uma composição.

Recomendado: