阿摩線上測驗 登入

申論題資訊

試卷:108年 - 108 專技高考_資訊技師:計算機系統#80990
科目:計算機系統
年份:108年
排序:0

題組內容

三、請詳述並舉例說明以下之物件導向詞彙(Object-Oriented Terms) :(15 分)

申論題內容

(二) composition

詳解 (共 1 筆)

詳解 提供者:hchungw
class Room {
    private String name;
    public Room(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}
class House {
    private List<Room> rooms;
    public House() {
        this.rooms = new ArrayList<>();
    }
    public void addRoom(String roomName) {
        rooms.add(new Room(roomName));
    }
    public List<Room> getRooms() {
        return rooms;
    }
}
在這個例子中:
House 類包含了 Room 類的實例,但 Room 不能在沒有 House 的情況下存在。例如,當 House 被銷毀時,其所有的 Room 也會被銷毀。
這種情況下,House 和 Room 之間的關係就是組合。