面向對象 = 物件 + 類別 + 繼承 + 通訊。具備這四個概念的系統即為面向對象系統。
物件
- 基本構成單元,以屬性(狀態)與操作(行為)定義。
- 可對應實體(汽車、人)、概念實體(語言、管理方式)。
- 分析視角:將現實實體建模化,封裝相關宣告與操作。
類別
- 同樣資料結構與操作的物件集合,是對共同特徵的抽象(模板)。
- 物件 = 類別的實例,透過
new 建立(C# 比 C++ 更安全)。
繼承
- 以既有定義為基礎建立新定義的復用技術。
- 衍生類別組合:基類成員 + 新增宣告,不修改基類。
- 基類 / 衍生類別術語,大幅降低開發成本。
範例:汽車 → 卡車
- 基類
Car:顏色、重量、行駛、鳴笛。
- 衍生
Truck : Car:繼承上述特徵,新增載貨能力。
通訊
物件間透過訊息傳遞(方法呼叫、事件)協作,實現系統行為。