在C#中,可以使用switch語句實現多態性,例如根據不同的類型來執行不同的操作。下面是一個示例代碼:
public class Animal
{
public virtual void MakeSound()
{
Console.WriteLine("Animal makes a sound");
}
}
public class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Dog barks");
}
}
public class Cat : Animal
{
public override void MakeSound()
{
Console.WriteLine("Cat meows");
}
}
class Program
{
static void Main()
{
Animal animal = new Cat(); // 創建一個貓的實例
switch (animal)
{
case Dog d:
d.MakeSound();
break;
case Cat c:
c.MakeSound();
break;
default:
animal.MakeSound();
break;
}
}
}
在上面的示例中,我們定義了一個Animal基類以及它的兩個派生類Dog和Cat,它們都重寫了MakeSound方法。在Main方法中,我們創建了一個Cat實例并使用switch語句根據不同的類型執行相應的操作。這樣就實現了多態性。