Junior
Czym jest metoda wirtualna w C#?
sobes.tech AI
Odpowiedź od AI
Metoda wirtualna w C# to metoda zadeklarowana słowem kluczowym virtual w klasie bazowej, którą można nadpisać w klasach pochodnych za pomocą słowa kluczowego override. Pozwala to na implementację polimorfizmu, gdy wywołanie metody zależy od rzeczywistego typu obiektu w czasie wykonywania, a nie od typu zmiennej.
Przykład:
class Animal
{
public virtual void Speak()
{
Console.WriteLine("Zwierzę wydaje dźwięk");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("Hau hau");
}
}
Animal a = new Dog();
a.Speak(); // Wypisze "Hau hau" dzięki metodzie wirtualnej
Bez virtual i override, wywołanie metody byłoby statyczne i nie uwzględniałoby rzeczywistego typu obiektu w czasie wykonywania.