C中父類的虛方法可不可以被子類的子類重寫

2021-05-05 19:03:44 字數 1290 閱讀 7269

1樓:

1、 如果父類方法沒有加virtual關鍵字,即不是一個虛方法,則在子類中只能隱藏基類方法

(new),而不能覆蓋(override)。

2、如果父類方法加了virtual關鍵字,即它是一個虛方法,在子類中一樣可以隱藏(new)。

3、如果子類實現了父類相同的方法(相同的方法名稱及簽名),而沒有new,在編譯時會報警,但

編譯仍然能夠通過!

4、呼叫父類方法:base.方法名()

5、abstract類是一個抽象類,不能被例項化,只能繼承

6、最後講講過載(overload):是在同一個類中的兩個或兩個以上的方法,擁有相同的方法

名,函式型別也相同,但是引數卻不相同,最常見的過載的例子就是類的建構函式。

2樓:

首先回答你的第一個問題,父類的虛方法是可以被子類的子類重寫的。

第二個問題c不可以訪問b類的成員。只有子類繼承父類成員,不能父類繼承子類成員。如果父類要訪問子類成員,可以通過介面實現。

比如:inte***ce iperson;}class b:c,iperson;}

class c}}

這樣就只要子類繼承了該介面,就可以在父類中訪問子類成員了。

3樓:匿名使用者

完全可以被子類重寫,不過要用關鍵字override。如果a裡有虛方法,b是繼承a的,那麼c也可以實現a裡面的虛方法。c繼承b當然可以訪問b類裡面的成員了

子類重寫父類的方法,父類沒有異常,子類可以拋異常嗎?

c#下 子類繼承父類的虛方法後 使用override重寫父類方法 和 不使用override重寫有什麼區別?

4樓:匿名使用者

不使用override重寫的話 子類new出來的物件 呼叫該虛方法 是呼叫的在父類中的虛方法的定義的方法體執行的

打個比如吧 就像 你繼承父親的房子 但是房子如果沒過戶(重寫) 戶名不是你 所以還是使用父親的

但是過戶了就是你的了~! 比喻不是很直觀

呵呵 子類物件重寫後呼叫的時候就是子類中重寫後的方法了 不重寫 子類物件呼叫該虛方法 還是父類中實現的那個方法

5樓:匿名使用者

呵呵,,,有區別的,如果不寫override 關鍵字的話,就是沒有重寫父類的方法,父類的那個方法不會被覆蓋,而你如果寫上就把父類的方法覆蓋,這樣每次呼叫都是子類的方法

6樓:劇菁英

這個不太懂不瞭解的。

坐飛機可不可以帶帶電的娃娃,坐飛機可不可以帶玩具電池

坐飛機可不可以帶帶電的娃娃?沒問題,行。直接把電池放在洋娃娃裡即可,然後洋娃娃放行李箱託運或直接放包裡輕鬆過安檢。坐飛機可不可以帶帶電的娃娃當然可以帶電的娃娃。不會受影響的。坐飛機,如果是帶電的,那電池要隨身攜帶,娃娃要託運。可以,只要你的電娃娃體積不是太大就可以帶。你好,這種的娃娃一般是不可以直接...

蠶可不可以吃帶水的桑葉,孕期可不可以吃桑葉羅漢果

新鮮的桑葉裡本來就有水分,如果頭天下雨了採摘回來時要把上面的水擦乾或晾乾才能給它吃 不然可能會生病,像拉肚子一樣最後脫水而死 乾枯了的葉子也不好,食物最好還是要新鮮的。蠶的養殖注意事項 一 養殖溫度 蠶是一種很怕冷的生物,所以一般聽到的都是春蠶,所以在養蠶的時候要注意養殖的溫度,通常是在每年的4 5...

口號可不可以申請專利的,廣告創意可不可以申請專利?

宣傳口號不可來以申請專利源 建議將口號申請為bai相關行業的商標,du就象移動公司提zhi出的口dao號 溝通100 就註冊成了商標,或則直接製作到廣告載體中做一個版權登記。專利法規定幾種不予以專利的情況 一 科學發現 二 智力活動的規則和方法 三 疾病的診斷和 方法 四 動物和植物品種 五 用原子...