溫馨提示×

typeof c#在多態(tài)實(shí)現(xiàn)中如何應(yīng)用

c#
小樊
83
2024-08-22 02:03:30
欄目: 編程語言

在C#中,多態(tài)的實(shí)現(xiàn)通常通過方法的重寫(override)和虛方法(virtual method)來實(shí)現(xiàn)。在父類中聲明一個(gè)虛方法,子類可以重寫該方法來實(shí)現(xiàn)不同的功能。當(dāng)使用父類的引用調(diào)用子類的重寫方法時(shí),實(shí)際調(diào)用的是子類的方法,這就實(shí)現(xiàn)了多態(tài)性。

下面是一個(gè)簡單的示例代碼,展示了多態(tài)的實(shí)現(xiàn):

using System;

// 定義一個(gè)動(dòng)物類
class Animal
{
    public virtual void MakeSound()
    {
        Console.WriteLine("Animal makes a sound");
    }
}

// 定義一個(gè)狗類,繼承自動(dòng)物類
class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Dog barks");
    }
}

// 定義一個(gè)貓類,繼承自動(dòng)物類
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
    }
}

在上面的示例中,定義了一個(gè)動(dòng)物類Animal,包含一個(gè)虛方法MakeSound,然后分別定義了狗類Dog和貓類Cat,它們都重寫了MakeSound方法。在Main方法中,通過父類的引用分別創(chuàng)建了一個(gè)狗對象和一個(gè)貓對象,然后調(diào)用它們的MakeSound方法,實(shí)際上調(diào)用的是子類的方法,實(shí)現(xiàn)了多態(tài)性。

0