![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-8/28/22/f0dd5b4b-1820-44f2-95f9-aa9c4445168f/f0dd5b4b-1820-44f2-95f9-aa9c4445168fpic.jpg)
![c#多態(tài)性_第1頁(yè)](https://static.zsdocx.com/FlexPaper/FileRoot/2019-8/28/22/f0dd5b4b-1820-44f2-95f9-aa9c4445168f/f0dd5b4b-1820-44f2-95f9-aa9c4445168f1.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C#C#多態(tài)性多態(tài)性通過繼承,一個(gè)類可以用作多種類型:可以用作它自己的類型、任何基類型,或者在實(shí)現(xiàn)接口時(shí)用作任何接口類型。這稱為多態(tài)性。C#中的每種類型都是多態(tài)的。類型可用作它們自己的類型或用作Object實(shí)例,因?yàn)槿魏晤愋投甲詣?dòng)將Object當(dāng)作基類型。多態(tài)性不僅對(duì)派生類很重要,對(duì)基類也很重要。任何情況下,使用基類實(shí)際上都可能是在使用已強(qiáng)制轉(zhuǎn)換為基類類型的派生類對(duì)象?;惖脑O(shè)計(jì)者可以預(yù)測(cè)到其基類中可能會(huì)在派生類中發(fā)生更改的方面。例如,
2、表示汽車的基類可能包含這樣的行為:當(dāng)考慮的汽車為小型貨車或敞篷汽車時(shí),這些行為將會(huì)改變?;惪梢詫⑦@些類成員標(biāo)記為虛擬的,從而允許表示敞篷汽車和小型貨車的派生類重寫該行為。有關(guān)更多信息,請(qǐng)參見繼承。多態(tài)性概述多態(tài)性概述當(dāng)派生類從基類繼承時(shí),它會(huì)獲得基類的所有方法、字段、屬性和事件。若要更改基類的數(shù)據(jù)和行為,您有兩種選擇:可以使用新的派生成員替換基成員,或者可以重寫虛擬的基成員。使用新的派生成員替換基類的成員需要使用new關(guān)鍵字。如果基類
3、定義了一個(gè)方法、字段或?qū)傩裕瑒tnew關(guān)鍵字用于在派生類中創(chuàng)建該方法、字段或?qū)傩缘男露x。new關(guān)鍵字放置在要替換的類成員的返回類型之前。例如:C#C#復(fù)制代碼publicclassBaseClasspublicvoidDoWk()publicintWkFieldpublicintWkPropertygetreturn0publicclassDerivedClass:BaseClassgetreturn0publicclassDerive
4、dClass:BaseClasspublicoverridevoidDoWk()publicoverrideintWkPropertygetreturn0字段不能是虛擬的,只有方法、屬性、事件和索引器才可以是虛擬的。當(dāng)派生類重寫某個(gè)虛擬成員時(shí),即使該派生類的實(shí)例被當(dāng)作基類的實(shí)例訪問,也會(huì)調(diào)用該成員。例如:C#C#復(fù)制代碼DerivedClassB=newDerivedClass()B.DoWk()Callsthenewmethod.Ba
5、seClassA=(BaseClass)BA.DoWk()Alsocallsthenewmethod.使用虛擬方法和屬性可以預(yù)先計(jì)劃未來(lái)的擴(kuò)展。由于在調(diào)用虛擬成員時(shí)不考慮調(diào)用方正在使用的類型,所以派生類可以選擇完全更改基類的外觀行為。無(wú)論在派生類和最初聲明虛擬成員的類之間已聲明了多少個(gè)類,虛擬成員都將永遠(yuǎn)為虛擬成員。如果類A聲明了一個(gè)虛擬成員,類B從A派生,類C從類B派生,則類C繼承該虛擬成員,并且可以選擇重寫它,而不管類B是否為該成員
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c#文獻(xiàn)翻譯---c#的優(yōu)點(diǎn)
- 第7章多態(tài)性
- HLa-C基因多態(tài)性與子癇前期相關(guān)性研究.pdf
- c#程序
- C反應(yīng)蛋白基因多態(tài)性與腦梗死的相關(guān)性研究.pdf
- [c#畢設(shè)]c#人事管理系統(tǒng)
- GNB3基因C825T多態(tài)性、ACE基因I-D多態(tài)性與支架內(nèi)再狹窄相關(guān)性研究.pdf
- C反應(yīng)蛋白水平及1059G-C基因多態(tài)性與腦梗死.pdf
- VEGF-C表達(dá)及基因多態(tài)性與胃癌的相關(guān)性研究.pdf
- c#爬蟲算法
- c#圖像處理
- c#快速入門
- c#文本操作
- PPARγC161-T基因多態(tài)性與冠心病的相關(guān)性.pdf
- c#命名規(guī)則
- c#編碼規(guī)范
- c#實(shí)驗(yàn)指導(dǎo)
- c#命名規(guī)范
- c#作業(yè)答案
- c#設(shè)計(jì)模式
評(píng)論
0/150
提交評(píng)論