執行結果:Hello Adaptee!!
類別適配器
優點
- 易於覆寫被適配類別行為(繼承關係允許 override)。
- 程式碼較精簡(無需額外委派欄位)。
缺點
- 只能適配單一具體類別(繼承鎖死型別)。
- 無法動態改變被適配物件(編譯期決定繼承鏈)。
泛型技術可部分解決(參見第 7 篇)。
物件適配器
優點
- 可適配多個被適配類別及其子類(多型 + 組合)。
- 執行期可動態切換被適配物件。
缺點
- 較難覆寫被適配行為(需先繼承被適配類別再組合)。
- 程式碼較多(需委派欄位與建構子)。
結論
兩者優缺點互補,實務上物件適配器彈性較大,更符合「多用組合、少用繼承」原則,也能因應未來未知類別的適配需求。