面向对象编程的五大基本原则
1、單一職責(zé)原則SRP(Single Responsibility Principle)
是指一個類的功能要單一,不能包羅萬象。如同一個人一樣,分配的工作不能太多,否則一天到晚雖然忙忙碌碌的,但效率卻高不起來。
2、開放封閉原則OCP(Open-Close Principle)
一個模塊在擴展性方面應(yīng)該是開放的而在更改性方面應(yīng)該是封閉的。比如:一個網(wǎng)絡(luò)模塊,原來只服務(wù)端功能,而現(xiàn)在要加入客戶端功能,那么應(yīng)當(dāng)在不用修改服務(wù)端功能代碼的前提下,就能夠增加客戶端功能的實現(xiàn)代碼,這要求在設(shè)計之初,就應(yīng)當(dāng)將服務(wù)端和客戶端分開,公共部分抽象出來。
3、替換原則(the Liskov Substitution Principle LSP)
子類應(yīng)當(dāng)可以替換父類并出現(xiàn)在父類能夠出現(xiàn)的任何地方。比如:公司搞年度晚會,所有員工可以參加抽獎,那么不管是老員工還是新員工,也不管是總部員工還是外派員工,都應(yīng)當(dāng)可以參加抽獎,否則這公司就不和諧了。
4、依賴原則(the Dependency Inversion Principle DIP) 具體依賴抽象,上層依賴下層。假設(shè)B是較A低的模塊,但B需要使用到A的功能,這個時候,B不應(yīng)當(dāng)直接使用A中的具體類: 而應(yīng)當(dāng)由B定義一抽象接口,并由A來實現(xiàn)這個抽象接口,B只使用這個抽象接口:這樣就達(dá)到了依賴倒置的目的,B也解除了對A的依賴,反過來是A依賴于B定義的抽象接口。通過上層模塊難以避免依賴下層模塊,假如B也直接依賴A的實現(xiàn),那么就可能造成循環(huán)依賴。一個常見的問題就是編譯A模塊時需要直接包含到B模塊的cpp文件,而編譯B時同樣要直接包含到A的cpp文件。
如果大家對C/C++感興趣的話,可以加一下我們的學(xué)習(xí)交流Q群:637 ?935 ?295,免費領(lǐng)取一套學(xué)習(xí)資料和視頻課程喲~
5、接口分離原則(the Interface Segregation Principle ISP)
模塊間要通過抽象接口隔離開,而不是通過具體的類強耦合起來
總結(jié)
以上是生活随笔為你收集整理的面向对象编程的五大基本原则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVM_GUI_3.1[mcode]{b
- 下一篇: 女生最想让男生知道的58件事[[急转]]