Se uma classe tiver uma referência de entidade, ela é conhecida como Agregação. A agregação representa o relacionamento HAS-A.
conversão de string java para int
Considere uma situação, o objeto Employee contém muitas informações como id, nome, emailId etc. Ele contém mais um objeto chamado endereço, que contém suas próprias informações como cidade, estado, país, CEP etc.
class Employee{ int id; String name; Address address;//Address is a class ... }
Nesse caso, Funcionário tem um endereço de referência de entidade, então o relacionamento é endereço Funcionário TEM-A.
menu de configurações android
Por que usar agregação?
- Para reutilização de código.
Exemplo simples de agregação
Neste exemplo, criamos a referência da classe Operation na classe Circle.
class Operation{ int square(int n){ return n*n; } } class Circle{ Operation op;//aggregation double pi=3.14; double area(int radius){ op=new Operation(); int rsquare=op.square(radius);//code reusability (i.e. delegates the method call). return pi*rsquare; } public static void main(String args[]){ Circle c=new Circle(); double result=c.area(5); System.out.println(result); } }Teste agora
Output:78.5
Quando usar agregação?
- A reutilização de código também é melhor alcançada por agregação quando não há relacionamento é-um.
- A herança deve ser usada somente se o relacionamento is-a for mantido durante todo o tempo de vida dos objetos envolvidos; caso contrário, a agregação é a melhor escolha.
Compreendendo um exemplo significativo de agregação
Neste exemplo, Funcionário tem um objeto Endereço, o objeto endereço contém suas próprias informações como cidade, estado, país etc. Nesse caso, o relacionamento é o endereço Funcionário TEM-A.
Endereço.java
public class Address { String city,state,country; public Address(String city, String state, String country) { this.city = city; this.state = state; this.country = country; } }
Emp.java
public class Emp { int id; String name; Address address; public Emp(int id, String name,Address address) { this.id = id; this.name = name; this.address=address; } void display(){ System.out.println(id+' '+name); System.out.println(address.city+' '+address.state+' '+address.country); } public static void main(String[] args) { Address address1=new Address('gzb','UP','india'); Address address2=new Address('gno','UP','india'); Emp e=new Emp(111,'varun',address1); Emp e2=new Emp(112,'arun',address2); e.display(); e2.display(); } }Teste agora
Output:111 varun gzb UP india 112 arun gno UP indiabaixe este exemplo