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

avatar
作者
筋斗云
阅读量:0

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!