物件導向三大特性之一!!!!!!

2021-09-18 04:18:27 字數 1372 閱讀 6313

封裝、繼承、多型。

在學習每乙個技術時,記住學習它的案例。

多型:父類的引用可以傳入子類的物件。

多型的最基本使用方法:

父類的引用作為方法的形參。

public

void

tohospital

(pet pet)

父類的引用可以作為方法的返回值型別。

// 2.父類的引用作為方法的返回值型別

public pet runpet

(int choice)

else

if(choice ==2)

return null;

}

它是多型使用之後的必然產物,因為多型場景下,無法區分當前的父類引用具體指向了何子類物件。所以可以通過instanceof關鍵字來判斷當前引用了何型別的物件。

物件名 instanceof 型別名

型別轉型

多型中我們發現:

pet pet = new dog();  其實就是一種型別轉換而已,類似於double num = 10;
在物件導向這一塊,它被稱為向上型別轉換。

同樣的有了多型之後,有些時候我們得到的是父類引用的物件,但是如果現在希望對子類特有的資訊進行操作,依靠於父類引用無法實現,所以需要向下型別轉換,類似於 int num = (int)10.1;

cat cat  = (cat) pet

cat.setgender();

在型別轉換時,很可能出現問題:父類的引用指向的物件和你要轉換為的型別不匹配,所以為了避免這種問題,一般都要新增instanceof判斷。

if(pet instanceof cat)

// 判斷要比較的物件 是否是string型別 原因是object型別多型可以傳入任何型別的子類物件 貓、狗

if(anobject instanceof

string

)return

true;}

}return

false

;}class a

class b extends a

instanceof:【本類物件和子類物件】

b instanceof a true

b instanceof b true

a instanceof a true

a instanceof b false

getclass:【只考慮本類物件】

bclass == aclass false

bclass == bclass true

物件導向三大特性之一 繼承

3 子類呼叫父類的方法 4 組合重用 繼承指的是類與類之間的關係,繼承的功能之一就是用來解決 重用問題 繼承是一種建立新類的方式,在python中,新建的類可以繼承乙個或多個父類,父類又可以成為基類或超類,新建的類稱為派生類或子類 class people pass class male peopl...

物件導向三大特性之一 多型

多型 普通版本 對於同乙個方法,由於呼叫的物件不同 或者傳入的物件不同 最終實現了不同的結果 定義電腦類 class computer 在電腦類中定義乙個 sub 的規範的介面 方法 def usb self,obj obj.start 定義滑鼠類 class mouse def start sel...

php物件導向三大特性之一多型

1.抽象類是乙個特殊的方法,介面是特殊的抽象類,多型就是使用抽象類和介面 2.是物件導向設計的重要特性,它展現了動態繫結的功能,也稱為 同名異式 多型的功能可以讓軟體在開發和維護時,達到充分的延伸性。事實上,多型最直接的定義就是讓具有繼承關係的不同類物件,可以以相同名稱的成員函式呼叫,產生不同的反應...