Home  >  Article  >  Java  >  What is aggregation in java

What is aggregation in java

青灯夜游
青灯夜游Original
2018-12-15 11:45:367451browse

Aggregation in Java is a special form of association. It is the relationship between two classes. It is a HAS-A relationship and a one-way association. If a class has entity references, it is called an aggregation.

What is aggregation in java

For example: There are two classes Studentclass and Addressclass, which represent students and addresses respectively. The Studentclass class contains a lot of information, such as: studentId, studentName, etc., and also contains an Addressclass class. The Addressclass class has its own information, such as country, provincial capital, city, etc. As shown below:

class Address
{
  String country;
  String province;
  String city;
  .....
}
class StudentClass
{
   int studentId;
   String studentName;
   //创建与Addressclass类的HAS-A关系
   Address studentAddr; 
   StudentClass(int id, String name, Address addr){
       ......
   }
   
}

In this case, the Studentclass class has an entity reference to the Addressclass class; and

Each student has a specific address, so the relationship between students and addresses is A Has-A relationship, that is: Student Has-A Address

Why use aggregation?

Because it can maintain the reusability of code.

For example, based on the two classes Student and Address in the above example, two other classes College and Staff are used, which represent colleges and staff.

To have addresses for students, college addresses, and staff, now, we don't need to use the same code again and again; we just need to reference the Address class when defining each class.

Therefore, we can improve the reusability of code by using aggregation relationships.

Aggregation example

class Address {
String country,province,city;

public Address(String country, String province, String city) {
   this.country = country;
    this.province = province;
    this.city = city;
	
}

}

public class StudentClass{
int id;
String name;
Address address;

public StudentClass(int id, String name,Address address) {
	this.id = id;
	this.name = name;
	this.address=address;
}

void display(){
System.out.println("="+id+",name="+name);
System.out.println("地址是:  "+address.country+","+address.province+","+address.city+"\n");
}

public static void main(String[] args) {
Address address1=new Address("China","Hubei","Wuhan");
Address address2=new Address("China","Hunan","Changsha");

StudentClass Student1=new StudentClass(150,"小明",address1);
StudentClassStudent2=new StudentClass(151,"小华",address2);
	
Student1.display();
Student2.display();
	
}
}

Rendering:

What is aggregation in java

Summary: The above is this The entire content of this article, I hope it will be helpful to everyone's study.

The above is the detailed content of What is aggregation in java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn