代價:需付出思維轉型成本——從「過程化思維」轉為「形象思維/對象思維」;設計可復用對象極具挑戰。
| 階段 | 代表 | 抽象對象 | 核心限制 |
|---|---|---|---|
| 機器碼/匯編 | CPU 指令集 | 硬件電路 | 極度依賴硬件細節 |
| 命令式語言 | FORTRAN, BASIC, C | 匯編語言 | 仍面向「方案空間」(計算機結構),非「問題空間」 |
| 特定領域語言 | LISP(列表), APL(算法), PROLOG(決策鏈) | 特定數學模型 | 超出領域即極其笨拙 |
| 面向對象 | Smalltalk, C++, Java, C# | 問題空間實體 | 通用表達能力,根據問題描述問題 |
核心突破:OOP 允許程序員用問題領域術語 (客戶、訂單、賬戶、策略) 構建解決方案,而非被迫用計算機術語 (指針、數組、循環、內存地址)。每個對象都是一台「微型計算機」:擁有狀態 (字段)、行為 (方法)、標識 (引用)。
現實世界映射:Person 有姓名/年齡 (狀態)、能說話/走路 (行為)、每個人唯一 (標識)。
a.foo(b) 理解為「對象 a 接收 foo 消息,參數 b」。private 字段 + public 方法,保護不變量。本章僅建立概念模型,**閱讀完不能立即編寫全功能 Java 程序**。詳細語法、API、實戰案例將在後續章節逐步展開。
掌握「抽象進化」歷史與「對象三要素」,是通往 Java 面向對象大門的認知鑰匙。