封裝:
1.隱藏實現細節;
2.恰當地公開介面;
3.將介面和實現分開,增強可維護性;(實現細節改變時,使用該類的客戶端程式不需要改變)
繼承:
1.描述聯結類的層次模型;
2.通過抽象,表達共性,實現類的重用;
3.通過子類增加方法和屬性以及重寫方法,表達差異性;
多型:
1.遮蔽子類的差異性,針對共性/介面程式設計;(向上轉型)
2.增強可擴充套件性;
開閉原則:軟體實體應該對擴充套件開放,對修改(對已有軟體模組、特別是最重要抽象層模組的的更改)關閉。
迪公尺特法則(對於封裝):物件間盡量最少了解,徹底將api介面和具體實現相分離,模組間僅僅通過api進行通訊。
黎克特制代換原則(對於繼承):如果對於每乙個型別為a的物件a,都有型別為b的物件b,使得a定義的所有程式p在所有物件a都替換成b時,程式p沒有變化,那麼b是a的子型別。
合成/聚合復用原則(對於繼承):盡量使用合成/聚合,盡量不要使用繼承。
依賴倒轉原則(涉及多型):抽象不應依賴於細節,細節應依賴於抽象;針對介面而非實現程式設計。
對OOP的三大特性的理解
封裝,繼承,多型 封裝是為了隱藏類的內部機制,在不影響使用的前提下可以修改內部細節,同時可以保護內部資料。繼承是為了復用父類的 讓程式有邏輯上的上下關係。多型是能夠讓物件根據不同的訊息引數,作出不同的行為,只要分為執行時多型和編譯時多型。優點 易維護 易復用 易擴充套件,由於物件導向有封裝 繼承 多...
OOP三大特性之封裝
封裝簡介 什麼是封裝 對外部隱藏實現細節,並且提供簡單的介面 封裝的目的 1 提高安全性 封裝資料 2 隔離複雜度 封裝方法 如何封裝 使用特殊語法,給要隱藏的變數前加雙下劃線 其實這僅僅這是一種變形操作且僅僅只在類定義階段發生變形 類中所有雙下劃線開頭的名稱如 x都會在類定義時自動變形成 類名 x...
繼承性 OOP(物件導向)的三大特性之二
今天學習了物件導向的第二大特徵 繼承性。下面進行總結 具體的可以通過以下 理解 1 creature類 public class creature 2 person類 public class person extends creature public person string name,int...