物件導向設計時的若干考慮

2021-07-11 15:59:44 字數 689 閱讀 6846

在oop 中,類之間的關係可以如下表示[1]:

當類是public 繼承的時候,它們之間是is-a 關係.

當類是private 繼承的時候,它們之間是is-implemented-in-terms-of 關係

當類是耦合關係時,它們之間是has-a 或者 is-implemented-in-terms-of 關係

[1]中還提到兩個條款:

絕不重新定義繼承而來的non-virtual 函式

避免遮掩繼承而來的名稱

[參考資料]

[1] scott meyers 著, 侯捷譯. effective c++ 中文版: 改善程式技術與設計思維的 55 個有效做法[m]. 電子工業出版社, 2011.

(條款32:確定你的public 繼承塑模出is-a 關係;

條款33:避免遮掩繼承而來的名稱

條款36:絕不重新定義繼承而來的non-virtual 函式

條款38:通過復合塑模出has-a 或「根據某物實現出」

條款39:明智而審慎地使用private 繼承)

物件導向設計時需要「六化」設計人員

物件導向設計方法目標 在系統設計時,設計人員如果能夠達到以下 六化 即模組化 角色化 流程化 規範化 簡單化 個性化,那最後的設計結果將會是非常令人滿意的。我們用總結如下。物件導向設計目標 特 點 說 明 1 模組化 把整個系統劃分成幾個相互關聯的模板 2 角色化 需要分別從不同使用者的角度出發去考...

物件導向設計

物件導向設計 object oriented design,ood 方法是oo方法中乙個中間過渡環節。其主要作用是對ooa分析的結果作進一步的規範化整理,以便能夠被oop直接接受。物件導向設計 ood 是一種軟體設計方法,是一種工程化規範。這是毫無疑問的。按照bjarne stroustrup的說法...

物件導向設計

1 物件導向的三要素 1.1 封裝 encapsulation a 封裝 合理的隱藏資料的隱藏 隱藏在方法背後 實現的隱藏 隱藏在介面背後 變化的隱藏 隱藏在抽象背後 b 封裝能夠提高物件的復用性 減低物件的耦合度c 良好的封裝 物件的高內聚 1.2 繼承 inheritance a 基於差異式程式...