Note You can check other posts on my personal website: https://hbolajraf.net
Dalam C#, kaedah maya ialah kaedah yang boleh ditindih dalam kelas terbitan. Ini membenarkan polimorfisme, di mana rujukan kelas asas boleh digunakan untuk menggunakan kaedah pada objek kelas terbitan.
public class BaseClass { public virtual void MyVirtualMethod() { // Base class implementation } } public class DerivedClass : BaseClass { public override void MyVirtualMethod() { // Derived class implementation } }
Pertimbangkan contoh berikut:
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 } }
Dalam contoh ini, kelas Haiwan mempunyai kaedah maya MakeSound(). Kelas Anjing dan Kucing mengatasi kaedah ini dengan pelaksanaannya sendiri. Apabila contoh Anjing dan Kucing diberikan kepada rujukan Haiwan, kaedah yang diganti dipanggil berdasarkan jenis objek sebenar, menunjukkan polimorfisme.
Kaedah maya menyediakan cara untuk melaksanakan dan memanfaatkan konsep penghantaran kaedah dinamik dalam pengaturcaraan berorientasikan objek.
Atas ialah kandungan terperinci C# | Kaedah Maya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!