C# |仮想メソッド

WBOY
リリース: 2024-07-24 01:31:14
オリジナル
1157 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート