古詩詞大全網 - 藝術簽名 - C#什麽是多態性,多態性的作用是什麽?請舉例說明,謝謝

C#什麽是多態性,多態性的作用是什麽?請舉例說明,謝謝

妳好,多態性是指C#中允許多個方法有相同的方法名,只要它們的方法簽名不同。

這裏有兩個概念。方法名是方法的壹部分,例如方法:

公共靜態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);

測試。打印(真);

測試。打印(壹份);

測試。打印(“成功!”);

}

}

}

程序執行的輸出是:

大衛

插口

麥克風

真實的

錯誤的

成功了!

請註意程序中的註釋,讓我只需要壹個方法就可以安全的處理各種數據。

希望這些信息對妳有幫助。謝謝妳。