Aggregation(聚合)
定義:
聚合是一種表示類與類之間關係的物件導向設計概念。它描述的是一種“整體-部分”的關係,具體來說,聚合表示一個類型(稱為整體或容器)包含另一個類型(稱為部分或成員),但成員可以獨立於整體存在。這意味著,整體和部分之間的生命週期是不同步的。
特徵:
聚合是一種弱關係(相對於組合關係),即成員可以在沒有整體存在的情況下獨立存在。
在UML(統一建模語言)中,聚合通常用一個空心的菱形連接到整體端來表示。
舉例說明
範例一:班級和學生
在一個學校管理系統中,假設有兩個類:Class(班級)和Student(學生)。
java
class Student {
private String name;
public Student(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class Class {
private String className;
private List<Student> students;
public Class(String className) {
this.className = className;
this.students = new ArrayList<>();
}
public void addStudent(Student student) {
students.add(student);
}
public List<Student> getStudents() {
return students;
}
}
在這個例子中:
Class 類包含了 Student 類的實例,但 Student 可以在沒有 Class 存在的情況下獨立存在。例如,一個學生可以在註冊班級之前就存在。
這種情況下,Class 和 Student 之間的關係就是聚合