在C#中,可以使用Activator.CreateInstance
方法來創(chuàng)建實例,從而實現(xiàn)多態(tài)的場景。下面是一個簡單的示例:
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
方法分別創(chuàng)建了Dog
和Cat
的實例,并且將它們都存儲在Animal
類型的變量中。然后調(diào)用Speak
方法時,會根據(jù)實際的對象類型來執(zhí)行相應的方法,實現(xiàn)了多態(tài)。