在Java中,組合(Composition)是一種通過將一個類的對象作為另一個類的成員變量來簡化對象創建的方法。這種方法可以減少代碼的冗余,并提高代碼的可維護性。
以下是一個簡單的例子,說明如何使用組合簡化對象創建:
假設我們有兩個類:Engine
和 Car
。Car
類需要一個 Engine
對象作為其成員變量。在組合中,我們可以將 Engine
對象作為 Car
類的構造函數參數傳遞,從而簡化對象創建。
// Engine 類
public class Engine {
public void start() {
System.out.println("Engine started.");
}
}
// Car 類
public class Car {
private Engine engine;
// 使用組合簡化對象創建
public Car(Engine engine) {
this.engine = engine;
}
public void start() {
engine.start();
}
}
// 主類
public class Main {
public static void main(String[] args) {
// 創建 Engine 對象
Engine engine = new Engine();
// 使用組合創建 Car 對象,傳遞 Engine 對象作為參數
Car car = new Car(engine);
// 調用 Car 對象的方法
car.start();
}
}
在這個例子中,我們首先創建了一個 Engine
對象,然后將其傳遞給 Car
類的構造函數,從而創建了一個包含 Engine
對象的 Car
對象。這樣,我們可以避免在 Car
類內部單獨創建 Engine
對象,從而簡化了對象創建過程。