C# 快速導覽 - 方法多載

類別 (class) 可以定義多個不同的方法 (method) ,通常依方法的用途命名方法名稱,同一方法可以有符合需求的不同參數版本,這叫做方法的多載 (overloading) 。



多載限制在參數列,也就是參數版本的不同,這是說參數的型態或數量不同,才構成不同的參數版本,若只有回傳值型態不同,則無法通過編譯。



舉例如下
class Demo {
    void DoSomething(int i) {
        System.Console.WriteLine("There is no spoon.");
    }
    
    void DoSomething(string s) {
        System.Console.WriteLine(s);
    }
    
    string DoSomething(int i, string s) {
        return s;
    }

    static void Main() {
        Demo d = new Demo();
        d.DoSomething(1);
        d.DoSomething("Free your mind.");
        System.Console.WriteLine(d.DoSomething(2, "Pardon?"));
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:class31.cs
    功能:示範 C# 程式 
    作者:張凱慶
    時間:西元 2013 年 6 月 */


此例 Demo 有 3 個參數版本的 DoSomething() ,分別需要一個 int 、一個 stringintstring 各一個
void DoSomething(int i) {
    System.Console.WriteLine("There is no spoon.");
}
    
void DoSomething(string s) {
    System.Console.WriteLine(s);
}
    
string DoSomething(int i, string s) {
    return s;
}



編譯執行,結果如下



中英文術語對照
類別class
方法method
多載overloading


您可以繼續參考
類別


相關目錄
回 C# 快速導覽
回 C# 教材
回首頁


參考資料
Standard ECMA-334 C# Language Specification
msdn: 7.4.2 多載解析

沒有留言: