溫馨提示×

c# createinstance用于多態(tài)的場景

c#
小樊
92
2024-07-26 01:19:11
欄目: 編程語言

在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)建了DogCat的實例,并且將它們都存儲在Animal類型的變量中。然后調(diào)用Speak方法時,會根據(jù)實際的對象類型來執(zhí)行相應的方法,實現(xiàn)了多態(tài)。

0