程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#中方法重載詳解(1)

C#中方法重載詳解(1)

編輯:關於C語言

首先我們說一下什麼是方法重載。在面對對象這樣的高級語言中都允許我們在一個類中定 義多個方法名相同、方法間參數個數和參數順序不同的方法,對於參數個數不同或者參數列 表不同的情況我們稱之為參數列表不同。需要注意的是這裡沒有提到方法的返回值。也就是 決定方法是否構成重載有兩個條件:

(1)在同一個類中;

(2)方法名相同;

(3)參數列表不同。

例如下面的代碼:

public void Show()// (1)
    {
      Console.WriteLine("Nothing");
    }
    public void Show(int number)//(2)
    {
       Console.WriteLine(number);
    }
    /*
     public int Show(int number)//(3)
    {
       Console.WriteLine(number);
      return number % 5;
    }
    */

對於上面的代碼,(1)沒有參數,(2)使用了一個int類型的參 數,(1)和(2)之間就構成了重載。(2)與(3)相比僅僅返回值不同,雖然重載不關心返回值的 不同,但是在C#中不允許存在方法名和參數列表相同、返回值不同的方法,所以(2)和(3) 不能同時存在於代碼中,(3)如果不注釋掉上面的代碼是沒有辦法通過編譯的。

上面 我們僅僅討論了重載的一些基本常識,下面我們探討一下一些情況稍微復雜的重載情況。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved