這裏有兩個概念。方法名是方法的壹部分,例如方法:
公共靜態void hello(int a,int b)
在這個方法中,hello被稱為方法名。
方法簽名是指方法名和方法參數表的構造。類似地,對於上面的方法,其方法簽名是:
妳好(int a,int b)
多態性起了很大的作用。您可能已經知道,可以編譯以下代碼:
使用系統;
名稱空間測試
{
公共類MainClass
{
公共靜態void Main()
{
控制臺。WriteLine(“哈哈哈”);
控制臺。WriteLine(5);
控制臺。WriteLine(true);
}
}
}
這段代碼的輸出是:
哈哈哈
五
真實的
C#是壹種強類型語言,它的不同類型必須轉換後才能被處理。那麽為什麽WriteLine()方法既可以輸出字符串常量,也可以輸出整數和布爾常量呢?原因是多態性。
這裏有壹個例子。我寫了壹個類測試,它包含壹系列名為Print的方法。我處理了不同的輸入參數,沒有使用WriteLine方法的重載。
//test.cs
//可以用csc test.cs編譯這段代碼或者復制到VC#中。
使用系統;
命名空間TestFunc
{
公共課考試
{
公共靜態空打印(字符串)
{
控制臺。WriteLine(str);
}
公共靜態無效打印(int i)
{
控制臺。WriteLine(I . ToString());//調用ToString方法將整數轉換為字符串類型。
}
公共靜態無效打印(bool b)
{
If (b == true)//輸出判斷後的結果。
{
控制臺。WriteLine(" True ");
}
其他
{
控制臺。WriteLine(" False ");
}
}
公共靜態void打印(params string[] str)
{
//這個方法實現了未知數量參數的輸出。使用params關鍵字。
for(int I = 0;我& lt海峽。長度;++i)
{
控制臺。WriteLine(str[I]);
}
}
}
公共類MainClass
{
公共靜態void Main()
{
bool a = false
測試。Print("大衛"、"傑克"、"邁克");
測試。打印(5);
測試。打印(真);
測試。打印(壹份);
測試。打印(“成功!”);
}
}
}
程序執行的輸出是:
大衛
插口
麥克風
五
真實的
錯誤的
成功了!
請註意程序中的註釋,讓我只需要壹個方法就可以安全的處理各種數據。
希望這些信息對妳有幫助。謝謝妳。