物件導向方法論#
物件導向 OOP#
- 物件 object:問題內可顯現的實體或事物。
- 類別 class:物件類別,將有共同特性的物件分類成相關群組,物件則為類別的實例。
設計方法論#
- 腦力激盪:來產生一個候補的類別表單。
- 過濾:決定哪些類別是問題解決的核心類別。
- 劇本:為每個類別指定「責任」,即為每個類別必須完成的工作,也就是副程式。
- 責任演算法:演算法須依責任來撰寫。
- 兩種責任類型:知識(是什麼)及行為(做什麼)。
class 會將資料封裝,也就是把資料和動作捆綁在一起,別的 class 無法存去此資訊。
翻譯過程#
-
編譯器 compiler:將高階語言翻譯成針對電腦的機器語言,再執行。
-
直譯器 interpreter:翻譯完一行就立即執行此行,類似於此高階語言的模擬器或是虛擬機。
-
高階語言也分成兩大類:編譯式、直譯式。
- JAVA 將程式編譯成位元組碼,為一種標準的機器語言,程式需在java的虛擬機(JVM)上執行。
程式語言方法#
命令式架構#
- 用一連串的指令執行,用變數代表記憶體位置,使用一些敘述來改變其值。
- 程序式架構:敘述被分成副程式。
- 物件導向架構:每個物件負責他自己的動作。
宣告式架構#
- 函數模式:是基於函數的運算概念。
- 邏輯模式:是基於邏輯原理而來。
高階語言功能#
布林表示式:即判斷式或條件式,可以是#
- 一個布林變數:如 true。
- 一個算數表示式+一個關係運算子+一個算數表示式,如:d1<d2。
- 一個布林表示式+一個布林運算子+一個布林表示式,如:a<1 or b>1
資料型態:如 int、char、bool、string等。#
- 強制型態:要指定一個記憶體位置時,須先說明此資料型態,非此資料型態不可以存入此記憶體位置。
控制結構#
- 結構化程式設計:程式的每一個邏輯單元只允許一個入口及一個出口。
- 巢狀邏輯
物件導向語言功能#
- 封裝:資訊隱藏。
- 類別
- 繼承:類別可被繼承,衍生類即為執行繼承的類別。
- 多形