Sobes.tech
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.