三大特性:
封裝:乙個類封裝了資料以及運算元據的**邏輯體。定義了資料的可訪問屬性(私有、公有)
繼承 :可以讓乙個型別獲取另外乙個型別的屬性的方式。分為實現繼承和介面繼承
多型 :類例項的乙個方法在不同情形下有不同的表現形式,即不同的外在行為。使具有不同的內部結構的物件可以共享相同的外部介面。
五大原則:
單一功能原則 :每個型別(包括介面和抽象)功能要求單一,只負責一件事情。
開放封閉原則:乙個軟體實體應該對擴充套件開發,對修改關閉。可擴充套件但是不可更改。
核心:用抽象構建框架,用實現類實現擴充套件。
替換原則(黎克特制代換原則):子類能夠替換父類,出現在父類能夠出現的任何地方
當使用繼承時,盡量遵循歷史替換原則,盡量不要去重寫或者過載父類的方法,
以免破壞整個繼承體系的 。因為父類在定義或者實現某些方法時,規定了必須遵守的規則和契約。
依賴原則:具體依賴抽象,上層依賴下層。核心思想是面向介面程式設計。
兩個模組之間依賴的應該是抽象(介面或抽象類)而不是細節。細節(實現類)依賴於抽象。
依賴原則基於的事實:相對於實現類的多變性,抽象的東西要穩定得多,基於抽象的構架也比基於實現的架構更加穩定,且擴充套件性更高
介面分離原則:模組間要通過具體介面分離開,而不是通過類強耦合。例如a類對b類的依賴,可以抽象介面i,b實現i,a類依賴i來實現。但是抽象介面必須功能最小化(與單一功能原則有點不謀而合)。
迪公尺特原則:最小依賴原則,乙個類對其他類盡可能少的了解,只與朋友通訊。降低耦合
總結:
依賴原則告訴我們要面向介面程式設計;
介面分離原則告訴我們設計介面的時候功能要單一;
裡式替換告訴我們不要破壞繼承體系,而是去擴充套件;
單一功能原則告訴實現類要功能單一。
開放封閉原則則是總綱,對擴充套件開放,對修改封閉。
C 物件導向的三大特性和五個原則
實現繼承 是指直接使用基類的屬性和方法而無需額外編碼的能力 介面繼承 是指僅使用屬性和方法的名稱 但是子類必須提供實現的能力 單一職責原則srp single responsibility principle 是指乙個類的功能要單一,不能包羅永珍。如同乙個人一樣,分配的工作不能太多,否則一天到晚雖然...
物件導向三大特性
什麼是物件導向呢?之前我們做一件事的時候,常常是確定,先幹什麼,然後怎麼做,最後可以完事了。其實我們不妨這麼想一下,我們做事的時候是可以這樣的 這件事中涉及了什麼物件角色?如果我要把這件事做成那麼就需要物件之間是如何協作的?第二種方法,就是今天說的物件導向的方法了,好處正在慢慢體會。今天我想說的物件...
物件導向三大特性
0x00 嘮嘮叨叨 只是做乙個概念的記錄 0x01 物件導向的三大特性 n 封裝 把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。類將成員變數和成員函式封裝在類的內部,根據需要設定訪問許可權,通過成員函式管理內部狀態。n 繼承 繼承所表達的是類...