面向對象的三大特徵、六個原則

三大特徵編程

封裝:  一個類封裝了數據以及操做數據的代碼邏輯體。定義了數據的可訪問屬性(私有、公有)架構

繼承 : 可讓一個類型獲取另一個類型的屬性的方式。分爲實現繼承和接口繼承框架

多態 : 類實例的一個方法在不一樣情形下有不一樣的表現形式,即不一樣的外在行爲。使具備不一樣的內部結構的對象能夠共享相同的外部接口。  .net

六大原則設計

單一功能原則 : 每一個類型(包括接口和抽象)功能要求單一,只負責一件事情。下降代碼複雜度,增長可讀性可維護性,只有在邏輯足夠簡單、類中的方法足夠少時才能夠在代碼級別上違反單一職責原則。職責被分解爲不少細粒度的職責,程序已經寫好的狀況下,分解類開銷大(分解意味着零散,加載變的複雜,閱讀也變得複雜),修改類雖然違反單一職責原則,可是是個不錯的選擇。對象

 
開放封閉原則:一個軟件實體應該對擴展開發,對修改關閉。可擴展可是不可更改。
     核心:用抽象構建框架,用實現類實現擴展。
 
替換原則(里氏代換原則):子類可以替換父類,出如今父類可以出現的任何地方
     當使用繼承時,儘可能遵循歷史替換原則,儘可能不要去重寫或者重載父類的方法,以避免破壞整個繼承體系的 。由於父類在定義或者實現某些方法時,規定了必須遵照的規則和契約。

     LSP原則是:只要父類能出現的地方子類就能夠出現,並且替換爲子類還不產生任何錯誤或異常。怎麼作到:blog

                      子類重載父類方法,方法的前置條件要比父類更寬鬆繼承

                      子類實現父類的抽象方法時,方法的後置條件要比父類更嚴格。接口

 
依賴原則:具體依賴抽象,上層依賴下層。核心思想是面向接口編程。
     兩個模塊之間依賴的應該是抽象(接口或抽象類)而不是細節。細節(實現類)依賴於抽象。
依賴原則基於的事實:相對於實現類的多變性,抽象的東西要穩定得多,基於抽象的構架也比基於實現的架構更加穩定,且擴展性更高
 
接口分離原則:模塊間要經過具體接口分離開,而不是經過類強耦合。例如A類對B類的依賴,能夠抽象接口I,B實現I,A類依賴I來實現。可是抽象接口必須功能最小化(與單一功能原則有點不謀而合)。
 
迪米特原則:最小依賴原則,一個類對其餘類儘量少的瞭解,只與朋友通訊。下降耦合
 

單一職責原則:職責單一。開發

里氏替換原則:不要破壞繼承體系結構。

依賴倒置原則:面向接口編程

接口隔離原則:設計接口時要精簡單一。

迪米特原則:下降耦合

這五個原則都是開源原則的注意事項,開閉原則是一切編程的出發點和目的

參考:https://blog.csdn.net/seek24/article/details/13293947

相關文章
相關標籤/搜索