Sobes.tech
Junior

C#'ta sanal yöntem nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

C# dilinde sanal bir metod, temel sınıfta virtual anahtar kelimesiyle tanımlanan ve türetilmiş sınıflarda override anahtar kelimesi kullanılarak yeniden tanımlanabilen bir yöntemdir. Bu, nesne yönelimli programlamada çok biçimlilik (polymorphism) sağlar; burada metod çağrısı, değişkenin tipi yerine nesnenin gerçek tipi temel alınarak yapılır.

Örnek:

class Animal
{
    public virtual void Speak()
    {
        Console.WriteLine("Hayvan ses çıkarıyor");
    }
}

class Dog : Animal
{
    public override void Speak()
    {
        Console.WriteLine("Hav hav");
    }
}

Animal a = new Dog();
a.Speak(); // Sanal metod sayesinde "Hav hav" yazdırır

virtual ve override kullanılmadığında, metod çağrısı statik olur ve nesnenin gerçek tipi çalışma zamanında dikkate alınmazdı.