本章目標
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.將乙個父類的引用指向乙個子類的物件,稱為向上轉型,自動進行型別...