---
# System prepended metadata

title: 計概：物件導向與高階程式語言
tags: [計算機概論]

---

# 計概：物件導向與高階程式語言
##  物件導向方法論
### 物件導向 OOP
- 物件 object：問題內可顯現的實體或事物。
- 類別 class：物件類別，將有共同特性的物件分類成相關群組，物件則為類別的實例。

### 設計方法論
1. 腦力激盪：來產生一個候補的類別表單。
2. 過濾：決定哪些類別是問題解決的核心類別。
3. 劇本：為每個類別指定「責任」，即為每個類別必須完成的工作，也就是副程式。
4. 責任演算法：演算法須依責任來撰寫。
	- 兩種責任類型：知識（是什麼）及行為（做什麼）。

class 會將資料封裝，也就是把資料和動作捆綁在一起，別的 class 無法存去此資訊。



---
##  翻譯過程
- 編譯器 compiler：將高階語言翻譯成針對電腦的機器語言，再執行。
- 直譯器 interpreter：翻譯完一行就立即執行此行，類似於此高階語言的模擬器或是虛擬機。

- 高階語言也分成兩大類：編譯式、直譯式。
	- JAVA 將程式編譯成位元組碼，為一種標準的機器語言，程式需在java的虛擬機(JVM)上執行。

---
##  程式語言方法
### 命令式架構
- 用一連串的指令執行，用變數代表記憶體位置，使用一些敘述來改變其值。
	- 程序式架構：敘述被分成副程式。
	- 物件導向架構：每個物件負責他自己的動作。

### 宣告式架構
- 函數模式：是基於函數的運算概念。
- 邏輯模式：是基於邏輯原理而來。

---
##  高階語言功能
### 布林表示式：即判斷式或條件式，可以是
1. 一個布林變數：如 true。
2. 一個算數表示式＋一個關係運算子＋一個算數表示式，如：d1<d2。
3. 一個布林表示式＋一個布林運算子＋一個布林表示式，如：a<1 or b>1

### 資料型態：如 int、char、bool、string等。
- 強制型態：要指定一個記憶體位置時，須先說明此資料型態，非此資料型態不可以存入此記憶體位置。

### 控制結構
- 結構化程式設計：程式的每一個邏輯單元只允許一個入口及一個出口。
- 巢狀邏輯

---
##  物件導向語言功能
- 封裝：資訊隱藏。
- 類別
- 繼承：類別可被繼承，衍生類即為執行繼承的類別。
- 多形

###### tags: `計算機概論`