首頁 >後端開發 >C++ >C# |虛擬方法

C# |虛擬方法

WBOY
WBOY原創
2024-07-24 01:31:141163瀏覽

C# | Virtual Methods

Note
You can check other posts on my personal website: https://hbolajraf.net

在 C# 中,虛方法是可以在衍生類別中重寫的方法。這允許多態性,其中基類引用可用於呼叫派生類別物件上的方法。

句法:

public class BaseClass
{
    public virtual void MyVirtualMethod()
    {
        // Base class implementation
    }
}

public class DerivedClass : BaseClass
{
    public override void MyVirtualMethod()
    {
        // Derived class implementation
    }
}

例子:

考慮以下範例:

using System;

public class Animal
{
    public virtual void MakeSound()
    {
        Console.WriteLine("Animal makes a generic sound");
    }
}

public class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Dog barks");
    }
}

public class Cat : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Cat meows");
    }
}

class Program
{
    static void Main()
    {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.MakeSound();  // Output: Dog barks
        myCat.MakeSound();  // Output: Cat meows
    }
}

在此範例中,Animal 類別有一個虛擬方法 MakeSound()。 Dog 和 Cat 類別用它們自己的實作重寫此方法。當 Dog 和 Cat 的實例被指派給 Animal 參考時,會根據實際的物件類型呼叫重寫的方法,從而體現了多態性。

接下來做什麼?

虛擬方法提供了一種在物件導向程式設計中實作和利用動態方法分派概念的方法。

以上是C# |虛擬方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn