a Agregação é um termo que é usado para referir-se a um modo de relação entre dois objetos. Por exemplo, a classe estudantil pode ter referência à classe de endereçamento, mas vice-versa não faz sentido.
em Java, agregação representa tem-uma relação, o que significa que quando uma classe contém referência de outra classe conhecida por ter agregação.
a relação tem-uma é baseada no uso, em vez de herança. Em outras palavras, classe A, tem-se uma relação com a classe B, se a classe a tem Uma referência a uma instância da classe B.
Permite compreender por um exemplo, e considerar duas classes de Estudantes e Endereço. Cada aluno tem seu próprio endereço que faz tem-um relacionamento, mas endereço tem estudante não faz qualquer sentido. Podemos entendê-lo mais claramente usando código Java.
aqui no código acima, podemos ver classe estudante tem-uma relação com classe endereço. Também desenhámos uma imagem para demonstrar a relação entre estas duas classes..
Student
classe tem uma variável de instância do tipo Address
. Como temos uma variável do tipo Address
Student
classe, ele pode usar o Endereço de referência que é o ad
neste caso, a invocação de métodos de Address
classe.
vantagem da agregação
a principal vantagem do uso da agregação é manter a reutilização do Código. Se uma entidade tem uma relação com alguma outra entidade que não pode reutilizar o código apenas referindo isso.
Exemplo de Agregação
Agora permite compreendê-lo usando um exemplo, aqui, criamos duas classes de Autor e Livro, e o Livro de classe tem uma relação com o Autor classe por ter a sua referência. Agora somos capazes de obter todas as propriedades de ambas as classes.
nome do livro: Java para o preço do BegginerBook: 800————detalhes do autor———-nome Auther: JohnAuther Age: 42Auther place: USA
permite tomar mais um exemplo para entender a agregação. Suponha que temos mais um editor de classe, em seguida, a classe de livro pode reutilizar detalhes de classe Editor usando apenas a sua referência como classe de Autor. Vamos entendê-lo por código Java.
composição em Java
composição é uma forma mais restrita de agregação. A composição pode ser descrita como quando uma classe que inclui outra classe, é dependente dela de tal forma que ela não pode funcionalmente existir sem a classe que está incluída. Por exemplo, uma classe Car
não pode existir sem Engine
, uma vez que não será mais funcional.
daí a composição da palavra que significa que os itens de que algo é feito e se mudarmos a composição das coisas que eles mudam, da mesma forma em classes Java, Uma classe incluindo outra classe é chamada de composição se a classe incluída fornece o significado funcional do núcleo para a classe externa.
class Car{ private Engine engine; Car(Engine en) { engine = en; }}
Aqui examinando o Código, podemos entender que se a classe do carro não tem relação com a classe do motor então o carro não tem existência.
composição é uma técnica de design, não uma característica de Java, mas podemos alcançá-la usando o código Java.
Q. Quando usar herança e agregação?
quando você quer usar alguma propriedade ou comportamento de qualquer classe sem a exigência de modificá-la ou adicionar mais funcionalidade a ela, nesse caso a agregação é uma opção melhor porque em caso de agregação estamos apenas usando qualquer classe externa dentro da nossa classe como uma variável.
Considerando que quando você quer usar e modificar alguma propriedade ou comportamento de qualquer classe externa ou pode querer adicionar mais função em cima dela, o seu melhor para usar herança.
para entender mais sobre herança, você pode visitar o nosso tutorial detalhado aqui. Clique Aqui para ver a Herança em Java