Maison  >  Article  >  Java  >  Qu'est-ce que l'agrégation en Java

Qu'est-ce que l'agrégation en Java

青灯夜游
青灯夜游original
2018-12-15 11:45:367452parcourir

L'agrégation en Java est une forme particulière d'association. C'est une relation entre deux classes. C'est une relation HAS-A et une association à sens unique. Si une classe a des références d’entité, on parle d’une agrégation.

Qu'est-ce que l'agrégation en Java

Par exemple : Il existe deux classes Studentclass et Addressclass, qui représentent respectivement les étudiants et les adresses. La classe Studentclass contient de nombreuses informations, telles que : studentId, studentName, etc., et contient également une classe Addressclass. La classe Addressclass possède ses propres informations, telles que le pays, la capitale provinciale, la ville, etc. Comme indiqué ci-dessous :

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){
       ......
   }
   
}

Dans ce cas, la classe Studentclass a une référence d'entité à la classe Addressclass et

Chaque étudiant a une adresse spécifique, donc la relation entre l'étudiant et ; l'adresse La relation est une relation Has-A, c'est-à-dire : Student Has-A Address

Pourquoi utiliser l'agrégation ?

Parce qu'il peut maintenir la réutilisabilité du code.

Par exemple, sur la base des deux classes Student et Address dans l'exemple ci-dessus, deux autres classes College et Staff sont utilisées, qui représentent les collèges et le personnel.

Pour avoir des adresses pour les étudiants, les adresses des collèges et le personnel, nous n'avons plus besoin d'utiliser le même code encore et encore ; il nous suffit de référencer la classe Address lors de la définition de chaque classe.

Par conséquent, nous pouvons améliorer la réutilisabilité du code en utilisant des relations d'agrégation.

Exemple d'agrégation

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();
	
}
}

Rendu :

Qu'est-ce que l'agrégation en Java

Résumé : Ci-dessus, c'est Tout le contenu de cet article, j'espère qu'il pourra être utile à l'étude de chacun.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn