首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

TIJ 學習筆記:Java 物件導向核心——複用實作與介面、多型、抽象類別

     編輯:Java 相關知識

1.4 實作複用

兩種方式:

  • 實例化現有類別為物件使用。
  • 在新類別中放入現有類別物件(組合 Composition 或 聚合 Aggregation)。

1.5 繼承:介面複用

繼承能複製現有類別並對「複製品」增修。修改後的「複製品」會反映原類別的變化。我們需要修改複製品嗎?

繼承代表基於基底型別與衍生型別概念的類別關係。基底型別包含所有衍生型別共享的特徵與行為。

透過繼承可:

  • 對介面新增功能。
  • 改變現有基底類別方法行為(覆寫 Overriding)。

1.5.1 is-a vs is-like-a 關係

  • 純粹覆寫基底方法 → 完美替代 → is-a (如「圓是形狀」)。
  • 新增介面元素 → 替代不完美 → is-like-a (如「熱泵類似冷卻系統」)。

1.6 多型:可互換物件

繼承產生許多相似物件,但這還不夠。多型是 OOP 自動挑選正確方法的機制。此階段無需知其如何運作。

  • 非 OOP 編譯器:早期繫結,需絕對位址。
  • OOP:執行期才能決定程式碼位址 → 晚期繫結。Java 用特殊程式碼取代絕對呼叫,根據物件儲存資訊計算方法位址 → 動態繫結。

向上轉型

衍生型別視為基底型別,實現多型基礎。

1.6.2 抽象基底類別與介面

  • abstract 類別:禁止建立實例。可宣告抽象方法(僅能在抽象類別中)。
  • interface:更進一步,嚴禁任何方法實作,純粹定義介面契約。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved