1.模塊化
對象就是模塊
把數據結構和操作這些數據的方法緊密地結合在一起
2.抽象
過程抽象
數據抽象:類
參數化抽象:C++的“模板”
3.信息隱藏
通過對象的封裝性實現類,分離了接口與實現,支持信息隱藏
4.弱耦合
某一部分的變化對其他部分的影響降到最低程度
耦合:一個軟件結構內不同模塊之間互連的緊密程度
弱耦合:系統度
對象之間的耦合:交互耦合&繼承耦合
5.強內聚
內聚衡量一個模塊內各個元素彼此結合的緊密程度
在設計時應該力求做到高內聚
面向對象設計的3種內聚:服務內聚、類內聚、一般\特殊內聚
6.可重用
盡量使用已有的類
如果確實需要創建新類,則在設計這些新類的協議時,應該考慮將來的可重復使用