Java 繼承與組成:如何選擇

https://www.infoworld.com/article/3409071/java-challenger-7-debugging-java-inheritance.html

Java 繼承與組合:如何做選擇

Java 中的繼承和組合是開發者用來建立類別和物件之間關係的兩種程式設計技巧。繼承衍生一個類別,而組合定義一個類別為其各部分的總和。在程式中,通過繼承創建的類別和物件是緊密耦合的,而通過組合創建的則是鬆散耦合的。

不同於繼承,組合提供了更多彈性,因此許多開發者認為組合比繼承更好,但實際情況更為複雜。選擇程式設計技巧就像選擇適當的廚房工具一樣:你不會用奶油刀來切菜,同樣地,你也不應該對所有程式設計情境都使用組合。

在面導向物件編程中,當一個子類別對應至其父類別有一個 “是一個” 的關係時,我們可以使用繼承。而當一個物件”擁有” (或是部分屬於) 另一個物件時,我們可以使用組合。

選擇何時使用繼承在於子類別是否真的是父類別的一個特殊版本。舉例來說,車是車輛的一種,因此繼承關係是合理的。

組合則在需要表達一個物件”擁有”另一物件時使用。舉例來說,房屋擁有臥室和客廳,因此可以使用臥室和客廳的物件組合成房屋。

此外,文章也提到了繼承和組合的兩個程式範例,並談到如何使用 super 來存取父類別的方法,以及如何處理型別轉換和 ClassCastException。

via InfoWorld

May 31, 2024 at 03:34AM

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *