javaoop 第三章 多型(2)

2021-08-16 11:06:58 字數 1181 閱讀 3429

本章目標

a。掌握多型的優勢和應用場合

b。子類重寫父類的方法

c。掌握instanceof運算子的使用

一丶多型

什麼是多型?

多型是具有表現多種形態的能力的特徵。同乙個實現介面,使用不同示例而執行不同的操       作。

同樣的行為,但結果不同。同乙個引用型別,使用不同的例項而執行不同的操作。

父類做引用,子類做物件。

形式一:父類做形參,子類做實參

class a

}class b

形式二:父類做型別,子類例項化。

peg  peg = new dog();

//自動轉換

peg.eat();

形式三:父類作為方法的返回值型別,子類示例化。型別自動轉化。

public pet getpet(int  a )else if (a == 2 )else if (a == 3 )

return pet  ;

}

二丶方法重寫

1位置:在子類和父類中有同名的方法。

2方法:方法名相同,返回值和修飾符相同,引數列表相同,方法體不同。

三丶instanceof

子類轉換為父類,向上轉型會自動轉換。

父類轉換為子類,向下轉型 使用 ·

instanceof判斷是否是父類與子類

class aelse if ( pet instanceof penguin ) else if ( pet instanceof cat)

}

}

class b

什麼時候會產生多型 

a. 有繼承關係的時候會產生多型

b. 方法重寫的時候

當進行資料轉換的時候,會丟失資料 , 可以是:

當子類轉換為父類時 , 會丟失子類特有的方法和屬性

第三章 多型

1.多型是具有多種形態的能力的特徵,也就是說 同乙個實現介面,使用不同的例項而執行不同額操作。2.同一種事物,由於條件不同,產生的結果也不同。3.實現多型的兩種形式 使用父類作為方法形參實現多型 使用父類作為方法的返回值實現多型 4.實現多型的思路 編寫父類 編寫子類,子類重寫父類方法 執行時,使用...

第三章 多型

1.生活中的多型 同一件事物,由於條件不同,產生的結果也不同 2.程式中的多型 父類引用,子類物件 同乙個引用型別,使用不同的示例而執行不同操作 3.使用多型實現思路 編寫父類 編寫子類,子類重寫父類方法 執行時,使用父類的型別,子類的物件 4.實現多型的兩種形式 使用父類作為方法形參實現多型 使用...

OOP 第三章 多型

第三章 一.多型 是具有表現多種形態的能力的特徵。更專業的說法 同乙個實現介面,使用不同的例項而執行不同的操作。二.實現多型的兩種方法 1.使用父類作為方法形參實現多型。2.使用父類作為方法返回值實現多型。三.子類轉換成父類時的規則 1.將乙個父類的引用指向乙個子類的物件,稱為向上轉型,自動進行型別...