封裝 繼承 多態 抽象 拷貝

面向對象“四大特性 ” :

封裝、繼承、多態、“抽象 ”

 

封裝

功能內聚 降低耦合度

以什麼樣的方式暴露哪些信息

對屬性、數據、部分內部敏感行爲實現隱藏

設計模式七大原則之一的迪米特法則就是對於封裝的具體要求,即 A 模塊使用

B 模塊的某個接口行爲,對 B 模塊中除此行爲之外的其他信息知道得儘可能少。

在不知道什麼樣的訪問控制權限合適的時候,優先推薦使用 private控制級別。

繼承
複用性

基礎模塊可以被直接複用、間接複用或增強複用

繼承是 is-a 關係,那麼如何衡量當前的繼承關係是否滿足 is-a 關係呢?

判斷標準即是否符合里氏代換原則( Liskov Substitution Principle, LSP )。 LSP 是指
任何父類能夠出現的地方,子類都能夠出現

 

繼承濫用的危害性 :

1方法污染

方法污染是指父類具備的行爲 , 通過繼承傳遞給子類,子類並不具備執行此行爲
的能力 ,比如鳥會飛,駝鳥繼承鳥 , 發現飛不了,這就是方法污染。

2方法爆炸
指繼承樹不斷擴大,底層類擁有的方
法雖然都能夠執行,但是由於方法衆多,其中部分方法並非與當前類的功能定位相關,

 

提倡組合優先原則來擴展類的能力,即優先採用組合或聚合的類關係來複用其他類的能力,而不是繼承。

 

 

多態

擴展性

override” 和 、overload'’ ,

“override” 譯成 “覆寫 ”, 是子類實現接口 , 或者繼承父類時 , 保持方法簽名完全相同,實現不同的方法體

“overload”譯成“重載”,方法名稱是相同的,但是參數類型或參數個數是不相同的

多態專指覆寫

 

 

抽象
歸納和演繹。

找到屬性和行爲的共性

歸納

從具體到本質,從個性到共性

需要抽象出對象的屬性和行爲的共性,難度大於演繹

演繹

從本質到具體,從共性到個性,逐步形象化

 

淺拷貝只複製當前對象的所有基本數據類型,以及相應的引用變量 與原對象共享 引用變量所指向的堆中對象

深拷貝: 與母對象不存在共享的實例變量

實現深拷貝 需要重寫 clone方法

 

面向對象編程思想把所有的有形或無形的事物都看作對象,並給對象賦予相應的屬性和行爲 , 建立對象之間的聯繫

 

JRE( Java Runtime Environment ) 即 Java運行環境 , 包括 JVM、核心類庫、核
心配置工具等。其中 JVM( Java Virtual Machine )即 Java 虛擬機 , 它 是 整個 Java 體
系的底層支撐平臺, 把源文件編譯成平臺無關的字節碼文件, 屏蔽了 Javaj原代碼與
具體平臺相關的信息 , 所以 Java 源代碼不需要額外修改即可跨平臺 運 行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章