> For the complete documentation index, see [llms.txt](https://sp106.gitbook.io/project/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sp106.gitbook.io/project/gao-yan.md).

# 高階語言

&#x20;       高階語言(High-Level Language)是目前最常見的程式語言，一行高階語言的敘述式就相當於低階語言的多行指令，比低階語言更容易撰寫，語法也跟人類所使用的英文接近。相較於受硬體束縛頗大的低階語言，高階語言不會受到不同CPU的影響，具有非機器依存(Machine-independent)的特性，可以在不同機器間移植，但不一定能在不同操作系統(Operating System)上編譯或執行。使用高階語言所撰寫的程式，必須透過直譯器(Interpreter)或是編譯器(Compiler)轉換成電腦看得懂的機器碼(Machine Code)，CPU才能執行。高階語言可以依照觀念上的不同，再細分為程序導向語言和物件導向語言。

**程序導向語言(Procedure-Oriented Language)：**

&#x20;       程序導向語言是照著一般的邏輯程序，按部就班地設計程式。根據想要取得的成果，將處理的過程撰寫成程式，讓電腦能依序執行以完成工作。

**物件導向語言(Object-Oriented Language)：**

&#x20;​        物件導向程式語言，是以「物件」觀念來設計程式，也就是物件導向程式設計(Object-Oriented Programming，OOP)。在現實中所看到的各種實體，像是樹木、建築物、電視、車、人，都是物件(Object)。物件導向程式設計就是去抽象(Abstraction)描述出這些物件，再藉由組合這些物件，建立互動關係，來完成指定的工作。以物件為主的設計方式，程式碼可以被重複使用，因此能減少開發時間，也比較容易維護。物件導向是高階語言發展的趨勢，過去許多程序導向語言也陸續加入了物件導向的特性。物件導向的三大特性為「封裝(Encapsulation)」、「繼承(Inheritance)」、「多型(Polymorphism)」。
