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