欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中多態(tài)、重載、重寫區(qū)別分析

 更新時間:2014年09月18日 12:01:17   投稿:shichen2014  
這篇文章主要介紹了C#中多態(tài)、重載、重寫區(qū)別,采用實例較為通俗易懂的分析了多態(tài)、重載的重寫的概念與用法,對于C#初學者有非常不錯的借鑒價值,需要的朋友可以參考下

本文實例總結(jié)了C#中多態(tài)、重載與重寫的概念與區(qū)別。對于初學C#的朋友來說有不錯的參考價值。分享給大家供大家參考。具體分析如下:

重寫是指重寫基類的方法,在基類中的方法必須有修飾符virtual,而在子類的方法中必須指明override

格式如下:

1.在基類中:

public virtual void myMethod() 
{ 
} 

2.在子類中:

public override void myMethod() 
{ 
} 

重寫以后,用基類對象和子類對象訪問myMethod()方法,結(jié)果都是訪問在子類中重新定義的方法,基類的方法相當于被覆蓋掉了。

重載:用于在給定了參數(shù)列表和一組候選函數(shù)成員的情況下,選擇一個最佳函數(shù)成員來實施調(diào)用

public void test(int x,int y){} 

public void test(int x,ref int y){} 

public void test(int x,int y,string a){} 

重載的特征:

I.方法名必須相同

II.參數(shù)列表必須不相同,與參數(shù)列表的順序無關(guān)

III.返回值類型可以不相同

但如果有泛型,就要注意了!

多態(tài):c#的多態(tài)性主要體現(xiàn)在類的繼承上:

子類繼承父類的時候,可能出現(xiàn)同名但方法定義不同的情況,
所以在子類中會將原方法覆蓋,實現(xiàn)自身的要求.

需要注意的地方有兩點:

①.可以在子類中被重寫的方法一定要被標記成virtual(虛擬), abstract(抽象), override(重寫)標記為virtual 和abstract 的函數(shù)就是為了重寫而創(chuàng)建的,標記為override的函數(shù)本身是由前兩種函數(shù)重寫而來的,所以它可以被重寫也是順理成章的了;

②.重寫的函數(shù)必須在子類中出現(xiàn),而且任何一個父類的函數(shù)在其一個子類中只能被重寫一次。(這一點很好理解,當你要重寫兩次時,該子類中將定義兩個返回類型,方法名稱 和參數(shù)列表都相同的函數(shù),這肯定是不可能的)。

相信本文所述對大家C#程序設(shè)計的學習有一定的參考借鑒價值。

相關(guān)文章

最新評論