javan面向對象編程的概念

1、繼承
①概念
一個類從另一個類獲得屬性和方法,將一類事物公共的屬性和行爲提取出來,創建出一個模板,稱之爲父類,子類繼承父類公共的屬性和方法,並且擴展添加一些自己特有的屬性和方法。
優點:提高了代碼的複用性,讓類與類之間產生了關係,是多態的前提
缺點:父類的屬性、方法的改變會對子類產生影響,增加了代碼的耦合性。
②super和this
super是一個關鍵字,代表父類的存儲空間標識(也可以說是父類的引用)。
this代表對象的引用(誰調用就代表誰)。
當子父類出現同名的時候可以用super分開,需要調用父類的構造方法的時候可以用super(..)。

③方法的重寫
子類中的方法的返回值,方法名,參數列表和父類中方法的一樣,且子類方法的返回值的權限小於等於父類的方法。(當父類中的方法是private的時候則該方法不能被重寫,因爲是父類私有的方法不被子類所繼承,子類沒有他的訪問權限)。
區別重載(構造方法的重載):在同一個類中,方法名相同,參數列表不同,與返回值沒有關係。

class 子類 extends 父類 {}

2、封裝
①概念
封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的接口。儘可能的隱藏細節的實現,通過接口與外部進行交流。

②優點
良好的封裝可以減少耦合性(需要對屬性修改新的條件的時候,可以直接修改這個封裝類的內部就行,不用每一個調用他的地方都進行修改)。
讓代碼更容易維護和理解,信息隱藏增加了程序的安全性(屬性被private修飾,不能直接方法問,需要通過定義的get方法,可以不定義get,或者增加條件約束)。

③總結
封裝的是變化。

3、多態
①概念
對於同一類引用,在運行階段,會根據實際引用不同子類對象,調用不同的方法。

②技術
實現動態的技術叫做動態綁定,是指在運行期間判斷所引用對象的實際類型,根據其實際的類型調用其相應的方法。

③條件
★要有繼承(或者接口實現)
★要有方法的重寫
★父類引用指向子類對象(子類向上轉型,子類中新加的方法不能再調用)

④優點
★可擴充性,新加新的子類並不影響已存在的類的多態性,繼承性。
★接口性,爲子類提供一個接口,讓子類去重寫去完善它。
★靈活性,提高了使用效率。
★可替換性。

發佈了28 篇原創文章 · 獲贊 3 · 訪問量 3515
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章