Q3 請說明物件導向程式設計 (OOP) 中的封裝 (encapsulation)、多型 (polymorphism) 以及多載 (overloading) 的特徵。
🔹 1. 封裝 (Encapsulation)
-
定義:
將資料 (屬性) 與操作這些資料的方法 (函式) 打包成一個物件,並透過存取修飾子 (如private
,public
,protected
) 來控制外部存取。 -
特徵:
-
隱藏內部細節,只暴露必要的介面 (interface)。
-
提高程式的 安全性(避免外部直接修改內部資料)。
-
增加 模組化與可維護性。
-
-
範例 (Java):
🔹 2. 多型 (Polymorphism)
-
定義:
「相同的方法呼叫,依物件型態不同而有不同行為」。 -
特徵:
-
方法覆寫 (Overriding):子類別重新定義父類別的方法。
-
執行時期 (runtime) 會根據物件的實際型態決定呼叫哪個方法。
-
提升 程式彈性 與 可擴充性。
-
-
範例 (Java):
🔹 3. 多載 (Overloading)
-
定義:
在同一個類別中,方法名稱相同,但參數型態或數量不同。 -
特徵:
-
屬於 編譯時期多型 (compile-time polymorphism)。
-
不需要繼承關係。
-
讓方法更直覺,根據輸入型態自動選擇正確版本。
-
-
範例 (Java):
沒有留言:
張貼留言