此章節將討論以下內容:
- 功能分解
- 物件導向範型
- 特殊物件方法
功能分解
功能分解是一種處理複雜問題的方法,當開發人員收到需求時,會按照所需要的步驟來思考
功能分解存在一個問題,容易讓主程式的職責過大,與子程式的耦合過高,之後如果遇到需求有變化時,將難以調整
軟體開發視角
視角 | 描述 |
---|---|
概念 | 軟體要負責什麼 |
規約 | 怎麼使用軟體 |
實作 | 軟體怎樣履行自己的責任 |
物件導向範型
編寫程式碼時是圍繞在物件而非函式,這裡提到的物件,傳統上會定義為 帶有方法的資料
,但作者認為是 具有責任的東西
物件
是類別
(class)的實體,程式中需要透過實體化來取得物件
物件導向的三大特性
- 封裝:隱藏實作,讓外部成員只需對外不開口呼叫而不需要知道細節,將責任解耦
- 繼承:將物件內的資料及方法完成複製使用,可減少冗餘程式碼
- 多型:透過抽象參照概念,可以得到不同的行為
特殊物件方法
物件的建立及銷毀方法,主要有:
- 建構函式 (constructor):初始化或建立一個物件
- 解構函式 (destructor) :物件不需要時將其清除