个性化阅读
专注于IT技术分析

Java使用聚合

如果一个类有一个实体引用,它被称为聚合。聚合代表有关系。

考虑情况,Employee对象包含许多信息,如id、名称、emailId等等。它包含一个对象叫地址,其中包含它自己的信息,如城市,国家,国家,zipcode等如下考虑。

class Employee{
int id;
String name;
Address address;//Address is a class
...
}

在这种情况下,员工有一个实体引用地址,所以关系是员工有一个地址。

为什么使用聚合?

  • 代码可重用性。

聚合的简单示例

在这个例子中,我们创建了圆类中引用的操作类。

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);
 }
}
Output:78.5

当使用聚合吗?

  • 代码重用也最好通过聚合当没有是一个关系。
  • 继承应该只有在使用的关系是维持在对象的生命周期;否则,聚合是最好的选择。

了解聚合的有意义的例子

在这个例子中,员工有一个对象的地址,地址对象包含它自己的信息,如城市、州、国家等。在这种情况下员工关系有一个地址。

Address.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();
	
}
}
Output:111 varun
       gzb UP india
       112 arun
       gno UP india
赞(0)
未经允许不得转载:srcmini » Java使用聚合

评论 抢沙发

评论前必须登录!