温馨提示×

如何在C#中使用switch语句实现多态性

c#
小樊
84
2024-08-13 17:11:37
栏目: 编程语言

在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语句根据不同的类型执行相应的操作。这样就实现了多态性。

0