抽象化 (電腦科學)

抽象化英文abstraction)喺電腦科學上係指,由研究緊嗰樣物件嗰度攞走物理空間或者時間上嘅資訊,等個研究者可以集中諗件物件重要嗰啲部份。即係例如由手上數據嗰度攞走啲時間標籤(表示啲數據喺幾時發生),並且嘗試將由呢啲數據得到嘅結果廣義化。

一個用 C 寫嘅 Hello World 程式;就算用家識嗮 C 嗰啲陳述式,佢都可以完全唔知部電腦內部嗰啲 01 運算係點做嘅-C 將啲 01 運算抽象化咗。

程式編寫

睇埋:程式語言

原則上,無論一個電腦程式用咩程式語言寫,部電腦內部實際上都係行緊機械碼。程式語言做嘅,係將電腦做緊嘅運算抽象化[1]

例子可以想像部電腦,部機識用 add() 將兩個埋,即係

 add(1,2) 會得出 3
 add(3,4) 會得出 7

... 如此類推。噉「攞   個數,當中  ,將啲數冚唪唥加埋嗮一齊」呢樣運算作業查實可以想像成-

  1. add() 將第 1 個數同第 2 個數加埋,得出個數叫 s
  2. add()s 同第 3 個數加埋,得出嘅數擺落 s

... 一路做到加埋嗮啲數為止;想像家陣隻程式語言將 add() 同埋啲必需嘅數據操作功能(例如係「將啲數據記落啱嘅記憶體地址度」)「包埋一嚿」整做 sum() 呢句陳述式(抽象化;將啲不必要嘅資訊攞走),句嘢會叫部電腦將 () 入面嗰拃數加埋嗮一齊;噉用家寫程式就可以寫

 x = sum(1,2,3,4) # 將 x 設做 1 2 3 4 加埋得出嘅值。

而唔使寫

 x = add(1,2)
 x = add(x,3)
 x = add(x,4)

咁撈絞。抽象化係電腦科學上非常重要嘅一部份,令啲人寫程式嗰陣方便好多[1]

睇埋

  1. 1.0 1.1 Iverson, K. E. (1962, May). A programming language (PDF). In Proceedings of the May 1-3, 1962, spring joint computer conference (pp. 345-351).