1. 程式人生 > >C#重載和重寫的區別

C#重載和重寫的區別

列表 父類 不同 版權 作者 就是 nal 重新 rri

C#重載和重寫的區別 重載就是在同一個類中,方法名相同,參數列表不同。參數列表不同包括:參數的個數不同,參數類型不同等。重載特征: I.方法名必須相同 II.參數列表必須不相同,與參數列表的順序無關 III.返回值類型可以不相同用於在給定了參數列表和一組候選函數成員的情況下,選擇一個最佳函數成員來實施調用。 public void test(int x,int y){} public void test(int x,ref int y){} public void test(int x,int y,string a){}重寫就是子類重寫父類的方法,在調用的時候,子類的方法會覆蓋父類的方法,也就是會調用子類的方法。在父類中的方法必須有修飾符virtual,而在子類的方法中必須指明override。重寫格式:
父類中: public virtual void myMethod() { } 子類中: public override void myMethod() { } 重寫以後,用父類對象和子類對象訪問myMethod()方法,結果都是訪問在子類中重新定義的方法,父類的方法相當於被覆蓋掉了。子類中為滿足自己的需要來重復定義某個方法的不同實現。通過使用override關鍵字來實現覆寫。只有虛方法和抽象方法才能被覆寫。要求(三相同)相同的方法名稱相同的參數列表相同的返回值類型--------------------- 作者:richnaly 來源:CSDN 原文:https://blog.csdn.net/richnaly/article/details/6446303?utm_source=copy 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

C#重載和重寫的區別