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 중국어 웹사이트의 기타 관련 기사를 참조하세요!