面向對象三大特性,六個原則


三大特性:
  1. 封裝:  一個類封裝了數據以及操作數據的代碼邏輯體。定義了數據的可訪問屬性(私有、公有)
  2. 繼承 : 可以讓一個類型獲取另外一個類型的屬性的方式。分為實現繼承和接口繼承
  3. 多態 : 類實例的一個方法在不同情形下有不同的表現形式,即不同的外在行為。使具有不同的內部結構的對象可以共享相同的外部接口。
 
五大原則:

單一功能原則 : 每個類型(包括接口和抽象)功能要求單一,只負責一件事情。

 
開放封閉原則:一個軟件實體應該對擴展開發,對修改關閉。可擴展但是不可更改。
     核心:用抽象構建框架,用實現類實現擴展。
 
替換原則(里氏代換原則):子類能夠替換父類,出現在父類能夠出現的任何地方
     當使用繼承時,盡量遵循歷史替換原則,盡量不要去重寫或者重載父類的方法, 以免破壞整個繼承體系的 。 因為父類在定義或者實現某些方法時,規定了必須遵守的規則和契約。
 
依賴原則:具體依賴抽象,上層依賴下層。核心思想是面向接口編程。
     兩個模塊之間依賴的應該是抽象(接口或抽象類)而不是細節。細節(實現類)依賴於抽象。
依賴原則基於的事實:相對於實現類的多變性,抽象的東西要穩定得多,基於抽象的構架也比基於實現的架構更加穩定,且擴展性更高
 
接口分離原則:模塊間要通過具體接口分離開,而不是通過類強耦合。例如A類對B類的依賴,可以抽象接口I,B實現I,A類依賴I來實現。但是抽象接口必須功能最小化(與單一功能原則有點不謀而合)。
 
迪米特原則:最小依賴原則,一個類對其他類盡可能少的了解,只與朋友通信。降低耦合
 
總結:
依賴原則告訴我們要面向接口編程;
接口分離原則告訴我們設計接口的時候功能要單一;
里式替換告訴我們不要破壞繼承體系,而是去擴展;
單一功能原則告訴實現類要功能單一。
開放封閉原則則是總綱,對擴展開放,對修改封閉。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM