Junior
Ce este o metodă virtuală în C#?
sobes.tech AI
Răspuns de la AI
Un metod virtual în C# este o metodă declarată cu cuvântul cheie virtual în clasa de bază, care poate fi suprascrisă în clasele derivate folosind cuvântul cheie override. Acest lucru permite implementarea polimorfismului, când apelul metodei depinde de tipul real al obiectului în timpul execuției, și nu de tipul variabilei.
Exemplu:
class Animal
{
public virtual void Speak()
{
Console.WriteLine("Animalul face un sunet");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("Ham ham");
}
}
Animal a = new Dog();
a.Speak(); // Va afișa "Ham ham" datorită metodei virtuale
Fără virtual și override, apelul metodei ar fi static și nu ar ține cont de tipul real al obiectului în timpul execuției.