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

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

c#多態(tài)性的作用?

c#多態(tài)性的作用?

C#
犯罪嫌疑人X 2019-03-20 14:17:49
c#多態(tài)性的作用?
查看完整描述

2 回答

?
撒科打諢

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

接口多態(tài)性,繼承多態(tài)性和抽象類多態(tài)性。

接口多態(tài)性:簡單的說,很多類可以實(shí)現(xiàn)同樣的接口,而一個(gè)類也可以實(shí)現(xiàn)很多個(gè)接口。

繼承多態(tài)性:繼承多態(tài)性是最常見的形式。通過virtual關(guān)鍵字的使用,繼承多態(tài)性提供了方法的不同實(shí)現(xiàn)。
在繼承一個(gè)類時(shí),會繼承該類的所有方法,屬性,事件以及特性。另外還會繼承所有這些成員
的實(shí)現(xiàn)。但有時(shí)候并不想繼承某個(gè)或某些功能,或者需要稍作變化。現(xiàn)在只要在基類中把方法
或?qū)傩詷?biāo)記為virtual,就可以在子類中重寫功能。

抽象類多態(tài)性:抽象類是指用abstract類型修飾符標(biāo)記的類。抽象類通常具有抽象方法,抽象方法是指定
義了但是沒有實(shí)現(xiàn)的方法,這種方法不能被實(shí)例化。用抽象類來實(shí)現(xiàn)多態(tài)性有點(diǎn)類似于繼承
多態(tài)性。區(qū)別在于,方法標(biāo)記是abstract,而不是virtual。抽象方法不提供實(shí)現(xiàn),因此是完全依
靠子類來實(shí)現(xiàn)功能的。抽象方法也比較像接口中定義的方法,因?yàn)檫@種方法提供一個(gè)協(xié)議聲
明,表示該方法會在子類中實(shí)現(xiàn)。

將方法標(biāo)記為virtual:
當(dāng)方法用關(guān)鍵字virtual修飾時(shí),表明子類可以重寫該方法的實(shí)現(xiàn)。這是所有面向?qū)ο笳Z言的根
本。定義一個(gè)虛方法后,表明希望在子類中重寫該方法。如果并不想重寫方法,就不要將方法聲
明為虛擬的,這樣會導(dǎo)致額外的系統(tǒng)開銷。

這種額外系統(tǒng)開銷的來源,是因?yàn)橐獮橹貙懛椒z查對象的運(yùn)行時(shí)類型。然后調(diào)用派生程度最
大的類中的重寫方法。如果這個(gè)類為基類,哪么就調(diào)用該基類中的虛方法,因此,所有在檢查
類型并查找重寫方法時(shí)耗去的資源都浪費(fèi)了。

由于派生類中的方法重寫了基類中的方法,因此在聲明派生類方法時(shí),使用的標(biāo)記應(yīng)該與將要
重寫的虛方法相同。



查看完整回答
反對 回復(fù) 2019-03-23
?
慕無忌1623718

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

多態(tài)又稱后期綁定,是一種在運(yùn)行時(shí)(just in time)指定方法調(diào)用地址的技術(shù)。

通常,編譯器在編譯期就能知道方法的地址,運(yùn)行時(shí)直接加載這個(gè)地址上的堆棧代碼(.net中指中間代碼)就可以了,這被稱為靜態(tài)綁定或前期綁定,雖然很少使用這個(gè)術(shù)語。

編譯器在編譯期不能確定方法的地址,而只能在運(yùn)行時(shí)確定的就被稱為后期綁定(或動態(tài)聯(lián)編)。例如,對于object類的ToString方法,其方法定義是返回類的名稱,但是,調(diào)用這個(gè)方法卻不一定能夠返回類的名稱(如String類),因?yàn)樗锌赡鼙慌缮愔貙懀鄳B(tài)技術(shù)確保運(yùn)行時(shí)能夠調(diào)用到正確的方法。

查看完整回答
反對 回復(fù) 2019-03-23
  • 2 回答
  • 0 關(guān)注
  • 649 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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