c#

typeof c#在多态实现中如何应用

小樊
83
2024-08-22 02:03:30
栏目: 编程语言

在C#中,多态的实现通常通过方法的重写(override)和虚方法(virtual method)来实现。在父类中声明一个虚方法,子类可以重写该方法来实现不同的功能。当使用父类的引用调用子类的重写方法时,实际调用的是子类的方法,这就实现了多态性。

下面是一个简单的示例代码,展示了多态的实现:

using System;

// 定义一个动物类
class Animal
{
    public virtual void MakeSound()
    {
        Console.WriteLine("Animal makes a sound");
    }
}

// 定义一个狗类,继承自动物类
class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Dog barks");
    }
}

// 定义一个猫类,继承自动物类
class Cat : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Cat meows");
    }
}

class Program
{
    static void Main()
    {
        Animal animal1 = new Dog();
        Animal animal2 = new Cat();

        animal1.MakeSound(); // 输出:Dog barks
        animal2.MakeSound(); // 输出:Cat meows
    }
}

在上面的示例中,定义了一个动物类Animal,包含一个虚方法MakeSound,然后分别定义了狗类Dog和猫类Cat,它们都重写了MakeSound方法。在Main方法中,通过父类的引用分别创建了一个狗对象和一个猫对象,然后调用它们的MakeSound方法,实际上调用的是子类的方法,实现了多态性。

0
看了该问题的人还看了