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ı.