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

物件介面與類別概念:從亞里斯多德到 Simula-67 的演進

     編輯:Java 相關知識

型別概念的起源

亞里斯多德研究「類型」(魚類、鳥類)。Simula-67(首個 OOP 語言)引入 class 關鍵字,將「具有共同特徵與行為的一群物件」形式化為類別。class 與 type 常互換使用,但嚴格說:型別定義介面,類別是介面的一種實作。

Simula 的銀行出納模擬

  • 出納、客戶、帳戶、交易 → 各自為類別;
  • 每類別員擁有共同特徵(帳戶有餘額、出納可收存款);
  • 每個具體實體(某帳戶、某出納)為物件,擁有獨特狀態(不同餘額、名字)。

物件導向的核心映射

「問題空間」的元素 ↔ 「方案空間」的物件,建立一對一映射

這是 OOP 最大挑戰:用程式碼自然表達領域概念,而非迎合機器模型。

介面:物件互動的契約

  • 每個物件只接受特定請求,集合稱為介面;
  • 類別/型別決定介面形式;
  • 型別 = 介面 是 OOP 基石。

程式碼範例:電燈泡

Light lt = new Light(); // 建立 Light 物件,lt 為參考(句柄)
lt.on();                // 發送「開燈」訊息
lt.off(); lt.brighten(); lt.dim(); // 其他介面操作
  • new:在堆積區配置物件;
  • .:透過參考發送訊息(呼叫方法);
  • 使用預先定義的類別時,程式碼簡單直觀。

關鍵術語對照

術語說明
Class / 類別定義物件結構與行為的模板
Object / 物件類別的具體實例,擁有狀態與行為
Reference / 參考(句柄)指向物件的變數
Message / 訊息方法呼叫請求
Interface / 介面物件可接受的訊息集合

總結

物件導向將「資料 + 行為」封裝為類別,透過介面互動。這讓程式碼能直接表達問題領域概念,是從「機器導向」到「問題導向」的關鍵抺躍。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved