国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中多態、重載、重寫區別分析

2020-01-24 02:24:34
字體:
來源:轉載
供稿:網友

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

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

格式如下:

1.在基類中:

public virtual void myMethod() { } 

2.在子類中:

public override void myMethod() { } 

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

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

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.參數列表必須不相同,與參數列表的順序無關

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

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

多態:c#的多態性主要體現在類的繼承上:

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

需要注意的地方有兩點:

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会东县| 渑池县| 梓潼县| 玉门市| 隆子县| 蕉岭县| 房产| 陇西县| 博兴县| 乌兰县| 长顺县| 萝北县| 乌鲁木齐县| 绥化市| 成都市| 荃湾区| 西盟| 霍州市| 富宁县| 阳西县| 天峻县| 时尚| 教育| 西林县| 淮阳县| 江阴市| 宁夏| 六枝特区| 株洲县| 虹口区| 汉寿县| 元谋县| 海安县| 中江县| 伊通| 嘉义县| 格尔木市| 黄平县| 蓬莱市| 安庆市| 南开区|