第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于方法的重寫

關(guān)于方法的重寫

千巷貓影 2018-08-10 08:06:55
請看代碼: 1 public abstract class ViewBaseContainer : Page  2  {  3     protected abstract ControllerBaseContainer CreateConcreteContainer (Page owner);  4  }  5 public class BasePage : ViewBaseContainer   6 {  7     protected override ControllerBaseContainer CreateConcreteContainer(BasePage owner)  8     {  9     } 10 }在BasePage中重寫方法CreateConcreteContainer(),傳遞的參數(shù)是BasePage的對象,會(huì)導(dǎo)致編譯失敗,這里傳遞的參數(shù)必須為Page的對象嗎?為什么?
查看完整描述

2 回答

?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

因?yàn)閛verride基類的virtual方法必須保證簽名相同,參見:C#語言規(guī)范4.0,第1.6.6.4節(jié)。摘錄如下:

1.6.6.4 虛方法、重寫方法和抽象方法

若一個(gè)實(shí)例方法的聲明中含有 virtual 修飾符,則稱該方法為虛方法 (virtual method)。若其中沒有virtual 修飾符,則稱該方法為非虛方法 (non-virtual method)。

在調(diào)用一個(gè)虛方法時(shí),該調(diào)用所涉及的實(shí)例的運(yùn)行時(shí)類型 (runtimetype) 確定了要實(shí)際調(diào)用的方法實(shí)現(xiàn)。在非虛方法調(diào)用中,實(shí)例的編譯時(shí)類型 (compile-timetype) 負(fù)責(zé)做出此決定。

虛方法可以在派生類中重寫 (override)。當(dāng)某個(gè)實(shí)例方法聲明包括 override 修飾符時(shí),該方法將重寫所繼承的具有相同簽名的虛方法。虛方法聲明用于引入新方法,而重寫方法聲明則用于使現(xiàn)有的繼承虛方法專用化(通過提供該方法的新實(shí)現(xiàn))。


查看完整回答
反對 回復(fù) 2018-08-13
?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊

 既然叫重寫 那么函數(shù)簽名肯定就必須相同。必須傳Page對象 

你重寫的時(shí)候傳的Page對象  調(diào)用的時(shí)候可以傳BacePage對象 呵呵  繼承關(guān)系兩者


查看完整回答
反對 回復(fù) 2018-08-13
  • 2 回答
  • 0 關(guān)注
  • 535 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號