更新於 2025/02/09閱讀時間約 3 分鐘

物件導向系列 - 2: 封裝、多型和繼承

在本單元中,我們將深入探討物件導向程式設計的三大核心特性——封裝、多型和繼承。這些特性是建立模組化、可擴充和易於維護的程式設計架構的基礎。

封裝

封裝的概念是將物件內部的資料結構和操作方法進行隱藏,使得外部只能透過我們預先定義的方法來存取所需資訊。這樣可以保護內部資料的完整性,避免外部直接修改內部細節,並讓程式更具彈性與可維護性。

舉例來說,假設某個類別內部記錄了長與寬的屬性,我們可以讓外部只能透過方法來取得面積和周長這類間接資訊,而非直接操作長和寬的數值。

繼承

繼承使子類別能夠繼承父類別的屬性與方法,例如 protected 的成員變數和方法,從而避免重複撰寫相同的程式碼。這不僅促進了程式碼的重用,也建立了類別之間的層次關係,有助於維護和擴展系統。

多型

多型的概念是讓不同的類別能透過相同的方法展現出不同的行為,從而實現更靈活的系統設計。它使得程式碼可以針對介面編寫,而不需了解具體實作的細節,提升了擴充性和維護性。

舉例來說,我們可以定義一個「動物」介面,其中包含「叫聲」這項行為。每個具體的動物類別(如貓、狗、鳥)在實例化時可以各自實作其獨特的叫聲,而外部只需呼叫「叫聲」這個方法,即可讓動物各自表現。

總結

在物件導向的三大特性中,重要性依次為封裝 > 多型 > 繼承。正如上週所提到的,物件導向的核心在於「物件」,而類別必須透過封裝才能成為真正的物件基礎。

多型則是抽象化的具體應用,透過抽象方法讓不同實例各自表現獨特的行為,這是物件導向中不可或缺的重要概念,讓系統具有更高的擴展性。

相較之下,繼承若設計不當,可能使子類別過度依賴父類別的內部細節,導致系統的高度耦合,失去物件導向的設計彈性。因此,繼承在使用上需謹慎,以避免降低系統的模組化和可維護性。

參考資料

  1. https://www.explainthis.io/zh-hant/swe/object-oriented-programming
  2. https://ithelp.ithome.com.tw/articles/10242039
分享至
成為作者繼續創作的動力吧!
© 2025 vocus All rights reserved.