計概 - 物件導向與高階程式語言

計算機概論 2018-02-08 616

物件導向方法論#

物件導向 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等。#

  • 強制型態:要指定一個記憶體位置時,須先說明此資料型態,非此資料型態不可以存入此記憶體位置。

控制結構#

  • 結構化程式設計:程式的每一個邏輯單元只允許一個入口及一個出口。
  • 巢狀邏輯

物件導向語言功能#

  • 封裝:資訊隱藏。
  • 類別
  • 繼承:類別可被繼承,衍生類即為執行繼承的類別。
  • 多形