C# 中關於重載與重寫的區別及用法


1、重載(overload): 在同一個作用域(一般指一個類)的兩個或多個方法函數名相同,參數列表不同的方法叫做重載,它們有三個特點(俗稱兩必須一可以):

  • 方法名必須相同
  • 參數列表必須不相同
  • 返回值類型可以不相同

例如:

public void Sleep() { Console.WriteLine("Animal睡覺"); } public int Sleep(int time) { Console.WriteLine("Animal{0}點睡覺", time); return time; }

2、重寫(override):子類中為滿足自己的需要來重復定義某個方法的不同實現,需要用 override 關鍵字,被重寫的方法必須是虛方法,用的是 virtual 關鍵字。它的特點是(三個相同):

  • 相同的方法名
  • 相同的參數列表
  • 相同的返回值

如:父類中的定義:

public virtual void EatFood() { Console.WriteLine("Animal吃東西"); }

子類中的定義:

public override void EatFood() { Console.WriteLine("Cat吃東西"); }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM