SOGO論壇
  登入   註冊   找回密碼
查看: 471|回覆: 0
列印 上一主題 下一主題

[技術文章] 物件導向語言的語意 [複製連結]

Rank: 11Rank: 11Rank: 11Rank: 11

熱心參予論壇活動及用心回覆主題勳章 數位硬體勳章

狀態︰ 離線
跳轉到指定樓層
1
發表於 2012-7-12 09:11:27 |只看該作者 |倒序瀏覽


第一個物件導向語言是 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,以表彰他的貢獻。
喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-5-4 17:12

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部