類多型的向上轉型,父類的方法被子類重寫

2022-03-19 09:07:11 字數 690 閱讀 2471

類多型的向上轉型,父類的方法被子類重寫

關於類多型向上轉型的問題,比如父類的方法存在被子類重寫的情況,比如下面一道有關於類多型向上轉型的問題。

題目描述:

選項:

分析:

最為關鍵的一點:(向上轉型)

(1)如果存在父類與子類之間有方法的重寫的情況,父類與子類之間的呼叫存在著一定的規則,父類的許可權是:呼叫自身的和被子類重寫過的方法,也就是說在呼叫自身的某個方法的時候,如果這個方法被子類重寫過,那麼在執行自身的這個函式之前會先執行子類中被重寫過的這個方法。而子類的許可權在這種情況限定下只能呼叫自身的這個方法。而不能再向上呼叫。

(2)呼叫的順序是:(1)、(2)、(3)、(4)、(5)、(6)、(7) ; 得到的結果是:abdc

父類指向子類(向上轉型),只能呼叫父類方法

當父類引用例項指向子類物件 向上轉型 時,例項只能夠呼叫父類方法 但是如果子類重寫了父類方法,例項就預設呼叫子類重寫後的方法!當使用多型方式呼叫方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤 如果有,再去呼叫子類的同名方法。如下 class a public string show a o...

C 類的向上轉型

include include class a virtual void mytest class b public a virtual void mytest void main 輸出為a myfunc a mytest b myfunc b mytest a myfunc b mytest 類a...

向上轉型 父類的引用指向子類的物件

package 向上轉型 向上轉型 子類的物件賦值給父類的引用 父類的引用所指向的屬性是父類的屬性 如此就可呼叫父類類的方法,而不可以呼叫自身的方法,但如果父類的方法被子類重寫,那就呼叫子類的方法 好處 減少重複 public class human public static void main ...