Java入門之物件導向三大特徵

2021-09-19 07:58:14 字數 878 閱讀 8722

一、封裝

每個物件包含它能進行操作所需要的所有資訊,這個特性稱為封裝,因此物件不必依賴其他物件來進行自己的操作。將方法、屬性、字段包裝在類中,通過例項化類來生成物件。

封裝的好處:

1、好的封裝能減少耦合

2、類內部的實現可以自由修改

3、類具有清晰的對外介面

封裝就像建房子,類就是房子,屬性是門窗,欄位是房子裡的東西,方法是人的行為。屬性對字段有保護作用,防止欄位被隨意的修改或讀取。

二、繼承

繼承是指這樣一種能力:它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。

總結:1、子類具有父類非private的屬性和方法

2、子類可以擴充套件父類沒有的屬性和方法

3、子類可以重寫父類的方法

繼承的缺點:子類和父類具有強耦合性。

當兩個類具有「is-a」關係時,適合用繼承;當兩個類具有"has-a"關係時,不適合用繼承,比如,胳膊不適合繼承自人。

三、多型

多型性(polymorphisn)是允許你將父物件設定成為和乙個或更多的他的子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件的特性以不同的方式運作。這就意味著雖然針對不同物件的具體操作不同,但通過乙個公共的類,它們(那些操作)可以通過相同的方式予以呼叫。

總結:1、子類可以以父類的身份出現 (使用父類物件的地方都可以用子類來代替)

2、子類在工作時以自己的方式來實現

3、子類以父類的身份出現時,子類特有的方法和屬性不能使用

多型的實現方式:

將父類的成員(除了欄位外的其他成員,包括方法、屬性、事件、索引器)宣告為虛擬的:在該成員返回值型別之前加virtual關鍵字(虛方法可以有自己的實現);子類通過overrid(覆寫)將父類實現替換為自己的實現。

OC學習之物件導向三大特徵

繼承性是指,在某種情況下,乙個類下面會有乙個子類,這個子類理論上來說會比之前的類 父類 具體化。比如還是 狗 這個類,假設它裡面有乙個成員變數是身高和體重,有乙個方法是咬人。然後再假設這個 狗 類中有 哈士奇 和 金毛 這兩種狗,這兩種狗除了繼承其父類中的成員和方法外,還有自己新增的一些,比如在 哈...

OC學習之物件導向三大特徵

繼承性是指,在某種情況下,乙個類下面會有乙個子類,這個子類理論上來說會比之前的類 父類 具體化。比如還是 狗 這個類,假設它裡面有乙個成員變數是身高和體重,有乙個方法是咬人。然後再假設這個 狗 類中有 哈士奇 和 金毛 這兩種狗,這兩種狗除了繼承其父類中的成員和方法外,還有自己新增的一些,比如在 哈...

Java物件導向的三大特徵

訪問許可權修飾符 private 提供的方法 setter getter 關鍵字private可以對類的屬性 方法進行私有化 即封裝 私有的方法只能在本類中被訪問。a類繼承b類後,從b類那繼承到b類的所有屬性和方法 private屬性 方法不能被繼承 關鍵字 extends super protec...