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

冒號與他的學生們(七):物件範式——民主體系的服務隱喻

     編輯:Java 相關知識

冒號開宗明義:OOP 不等於命令式。C++/Java/C# 雖屬命令式語系,但 OOP 思想可移植至函數式(Clos)或邏輯式(Visual Prolog),兩者正交關係。

OOP 會一統天下嗎?

不會。原因三點:

  1. 純粹 OOP 不存在,必須混合其他範式
  2. 沒有銀彈,OOP 也有適用邊界
  3. 流行度受商業推動影響大(MO = Money-Oriented 玩笑)

為什麼 C 也能寫出可重用、可擴展系統?

  • 資訊隱藏 → static 關鍵字
  • 繼承 → 組合
  • 多態 → 函數指標、狀態機
  • Linux 核心、資料庫引擎多以 C 為主,證明非 OOP 亦堪大用

設計哲學差異:自頂向下 vs 自底向上

  • 過程式:分析法(逆推),主函數為樹根,需求變更易波及全樹
  • OOP:綜合法(正推),葉子類別為起點,抽象層較高,抗變性較強

句號精闢比喻:「OOP 從樹葉開始設計,離使用者需求較遠,受波及程度較小。」

OOP 真正賣點:易用性 > 重用性

  • 認知貼近:牛.吃(草) 符合人類主詞-謂詞-受詞思維
  • 介面簡潔:Java API 參數少、命名直觀,Win32/OCI API 參數多、冗長
  • 粗粒度封裝:將相關函數用資料「膠合」成物件,犧牲部分效率換取易用性

冒號經典比喻:電器元件(電阻/電容)重用性高,電器產品(收音機/電視)易用性高。OOP 封裝的是「產品」,而非「元件」。

世界觀隱喻:君主制 vs 民主制

「授人以魚不如授人以漁」,理解範式背後的世界觀,才能在具體編碼時遊刃有餘。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
過程式世界OO 世界
主函數 = 國王所有物件 = 平等公民
函數 = 被動臣民,聽命/發命物件 = 主動公民,保護隱私、尋求/提供服務
等級森嚴,為國王服務透過訊息協作完成任務