- 註冊時間
- 2006-10-8
- 最後登錄
- 2019-6-20
- 主題
- 查看
- 積分
- 1306
- 閱讀權限
- 110
- 文章
- 1388
- 相冊
- 0
- 日誌
- 1
   
狀態︰
離線
|
第一個物件導向語言是 SmallTalk,SmallTalk 80的物件導向概念成為後來許多語言競相模仿的對象,像是 C++, Java, C# 等都是將 C 語言擴充以支持物件導向與義的結果,物件導向語意主要是將資料與函數綁在一起,形成類別與物件結構。
類別的語法可用 class <CLASS_NAME> { <VAR_DEF>* <FUNC_DEF>* } 這樣的結構進行宣告,其中的 * 代表 <VAR_DEF> 與 <FUNC_DEF> 都可以出現數次。程式人員可以利用 new <CLASS_NAME>() 這樣的語法,呼叫 <function> 中的建構函數,建構出該類別的物件。然後,透過 <CLASS_NAME>.<VAR> 的方式,存取該物件的變數,也可以透過 <CLASS_NAME>.<FUNC> 這樣的語法,呼叫該物件的函數。
舉例而言,我們可以用 class Stack { String array[], push(o) {…}, pop {…} } 這樣的語法,宣告一個堆疊物件,然後透過 s = new Stack() 建立物件 s,接著,再透過 s.array 取得 s 物件中的陣列變數,或者透過 s.push(“hello”) 這樣的語法,呼叫 push函數,以便將 “hello” 字串推入堆疊中。
物件導向的語義,與人類對『物體』的概念一致,具有容易想像與理解的特性,這對高階語言而言是一大貢獻。因此,2003 年的圖靈獎頒給了Smalltalk的發明人 Alan Kay,以表彰他的貢獻。
|
|