物件導向設計 三大特性 七項原則

2021-08-29 01:24:19 字數 1036 閱讀 9941

class calculater

if(c==

'-')

if(c==

'*')

if(c==

'/')

}如果我再想加入 % 功能,則需要修改 calculate 方法, 得修改源**

};

class calculater

class plus:public calculater

}class subtrct:public calculater

}class multiply:public calculater

}class devide:public calculater

}這時候如果想新增功能就直接 再繼承乙個抽象類,不用修改其他**

錯誤的做法

class car

;class tuolaji : public car};

class person : public tuolaji //繼承,這樣就能使用其中方法};

intmain()

正確的做法

class car

;class tuolaji : public car};

class person

void

party()

string name;

car* car;

// 作為成員:類的組合 ,而不是繼承};

intmain()

情況1:呼叫者直接對每個類進行操作,需要了解每個類的細節

情況2:呼叫者通過中介對類abc進行操作,並不去了解類abc的細節,只操作中介提供的介面

物件導向七大設計原則

乙個軟體實體如類 模組和函式應該對擴充套件開放,對修改關閉。用抽象構建框架,用實現擴充套件細節。提高軟體系統的可復用性及可維護性。高層模組不應該依賴底層模組,二者都應該依賴其抽象 抽象不應該依賴細節 細節應該依賴抽象 針對介面程式設計,不要針對實現程式設計 應用層 高層 應用層的呼叫依賴低層的實現。...

物件導向七大設計原則

1 開閉原則 ocp open closed principle 核心 對擴充套件開放,對修改關閉。即在設計乙個模組的時候,應當使這個模組可以在不被修改的前提下被擴充套件。根據開閉原則,在設計乙個軟體系統模組 類,方法 的時候,應該可以在不修改原有的模組 修改關閉 的基礎上,能擴充套件其功能 擴充套...

物件導向的三大特性和五大設計原則

solid 設計原則 其他設計原則 物件導向的 solid 原則 隱藏物件的屬性和實現細節,通過對外暴露的介面控制程式中屬性的讀寫。封裝需要把所有屬性私有化,對每個屬性提供 getter 和 setter 方法。如果有乙個帶參的建構函式的話,還需要寫乙個不帶參的建構函式。通過繼承可以實現 的復用。缺...