>  기사  >  Java  >  자바에서 집계란 무엇입니까?

자바에서 집계란 무엇입니까?

青灯夜游
青灯夜游원래의
2018-12-15 11:45:367511검색

Java의 집계는 두 클래스 간의 관계이며 단방향 연결입니다. 클래스에 엔터티 참조가 있는 경우 이를 집계라고 합니다.

자바에서 집계란 무엇입니까?

예: 학생과 주소를 각각 나타내는 Studentclass와 Addressclass의 두 클래스가 있습니다. Studentclass 클래스에는 StudentId, StudentName 등과 같은 많은 정보가 포함되어 있으며 Addressclass 클래스도 포함되어 있습니다. Addressclass 클래스에는 국가, 도청 소재지, 도시 등과 같은 고유한 정보가 있습니다. 아래와 같이:

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

이 경우 Studentclass 클래스에는 Addressclass 클래스에 대한 엔터티 참조가 있으며

각 학생은 특정 주소를 가지므로 학생과 주소 간의 관계는 Has-A 관계입니다. Student Has-A Address

집계를 사용하는 이유는 무엇인가요?

코드 재사용성을 유지할 수 있기 때문입니다.

예를 들어 위 예의 Student 및 Address라는 두 클래스를 기반으로 대학과 교직원을 나타내는 다른 두 클래스 College 및 Staff가 사용됩니다.

학생, 대학 주소, 교직원의 주소를 가지려면 이제 동일한 코드를 반복해서 사용할 필요가 없으며 각 클래스를 정의할 때 주소 클래스를 참조하면 됩니다.

따라서 집계 관계를 사용하면 코드의 재사용성을 향상시킬 수 있습니다.

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:

자바에서 집계란 무엇입니까?

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.

위 내용은 자바에서 집계란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.