阅读量:0
在C#中,可以使用Activator.CreateInstance
方法来创建实例,从而实现多态的场景。下面是一个简单的示例:
using System; public class Animal { public virtual void Speak() { Console.WriteLine("Animal speaks."); } } public class Dog : Animal { public override void Speak() { Console.WriteLine("Dog barks."); } } public class Cat : Animal { public override void Speak() { Console.WriteLine("Cat meows."); } } class Program { static void Main() { Animal animal1 = (Animal)Activator.CreateInstance(typeof(Dog)); animal1.Speak(); // Output: Dog barks Animal animal2 = (Animal)Activator.CreateInstance(typeof(Cat)); animal2.Speak(); // Output: Cat meows } }
在这个示例中,通过Activator.CreateInstance
方法分别创建了Dog
和Cat
的实例,并且将它们都存储在Animal
类型的变量中。然后调用Speak
方法时,会根据实际的对象类型来执行相应的方法,实现了多态。