學習目標 | 學生將能夠:
|
先修知識 | 學生應該:
|
抽象化 在計算機科學中提供了對於更大事物的簡化表示。它們僅提取最必要的信息並隱藏其他所有內容。
函數 是可重用的抽象化。當被調用時,使用者可以獲得函數的好處,而無需重寫甚至查看整個函數的代碼。
一個常見的範例是編程語言中的 print()。它的大部分代碼是隱藏的,因此編程者可以專注於需要打印的內容,而不是其餘的代碼。
為什麼要創建抽象化
抽象化保持程式的組織性,減少複雜性,並使代碼更容易更新。
商店範例
假設您有一個遊戲內商店,只出售兩種不同的背包。第二個背包的代碼是被複製的,並進行了一些小修改,例如不同的名稱和售價。


在這裡,代碼是沒有抽象化的。每個背包都有自己的一個腳本。如果您想添加以下內容會發生什麼呢?
20個更多的背包。
使某些背包能夠容納比其他背包更多的物品。
節日促銷,所有背包25%折扣。
設計抽象化
擁有獨立的背包腳本使得添加和更新背包非常耗時。相反,創建一個抽象化,以便您不必在這麼多不同的地方進行更新。
要設計一個抽象化,請決定:
哪些代碼部分將被重用。
每次哪些元素將會有所不同。
抽象化應該提取變更的信息,並隱藏其餘部分。在背包範例中,差異在於背包的名稱、價格和它可以攜帶的物品數量。因此,您可以設計的一個抽象化的例子是一個函數,該函數接收背包的名稱並返回其價格和容量。
![]() | ![]() |
無抽象化 | 抽象化 |
| 四個不同的背包,四個不同的更新地方。 | 使用一個函數搜索表格中的唯一信息。只有一個更新的地方。 |
結論
抽象化 通過省略細節提供了對於更大事物的簡化表示。在決定是否創建抽象化時,尋找經常重用但每次都有小變化的代碼。例如,一個通用物品如背包可以抽象化為一個可重用的函數,用於查找價格和容量。
花時間規劃和結構化代碼與抽象化有助於編程者專注於重要的事情。這樣的時間投資讓程式保持更好的組織性並使更新變得更容易。

