多型是繼封裝、繼承之後,物件導向的第三大特性。
最終多型體現為父類引用變數可以指向子類物件。
多型的定義格式:就是父類的引用變數指向子類物件
父類型別 變數名 = new 子類型別();
變數名.方法名();
publicclass
person
}public
class student extends
person
}public
class
test
}
子類型別 變數名 = (子類型別) 父類型別的變數;
如:student stu = (student) p; //變數p 實際上指向student物件
l 什麼時候使用向下轉型
當要使用子類特有功能時,就需要使用向下轉型。
l 什麼時候使用向上轉型:
當不需要面對子類型別時,通過提高擴充套件性,或者使用父類的功能就能完成相應的操作,這時就可以使用向上轉型。
總結下封裝、繼承、多型的作用:
l 封裝:把物件的屬性與方法的實現細節隱藏,僅對外提供一些公共的訪問方式
l 繼承:子類會自動擁有父類所有可繼承的屬性和方法。
l 多型:配合繼承與方法重寫提高了**的復用性與擴充套件性;如果沒有方法重寫,則多型同樣沒有意義。
物件導向 多型
繼承是多型的基礎,是指物件的多種形態 1.引用的多型 1 父類的引用可以指向本類的物件 2 父類的引用可以指向子類的物件 注意 子類的引用不能指向父類的物件 2.方法的多型 1 建立本類物件時,呼叫的方法是本類的方法 2 建立子類物件時,呼叫的方法是子類重寫的方法或是繼承的方法 注意 如果是子類獨有...
物件導向 多型
多型可以簡單的概括為 乙個介面,多種方法 在程式執行過程中才決定呼叫的函式,簡單的說就是,允許將子類型別的指標賦值給父類型別的指標,賦值後,父類物件就可以根據當前賦給它的子類物件的特徵以不同的方式執行。容易混淆的兩個概念 是指允許存在多個同名的函式,而這些函式的參數列不同 或許引數個數不同,或許引數...
物件導向 多型
多型 可以理解為事物存在的多種體現形態。人 男人,女人 動物 貓,狗。貓 x new 貓 動物 x new 貓 1,多型的體現 父類的引用指向了自己的子類物件。父類的引用也可以接收自己的子類物件。2,多型的前提 必須是類與類之間有關係。要麼繼承,要麼實現。通常還有乙個前提 存在覆蓋。3,多型的好處 ...