Junior
¿Qué es un método virtual en C#?
sobes.tech AI
Respuesta de la IA
Un método virtual en C# es un método declarado con la palabra clave virtual en la clase base, que puede ser sobrescrito en clases derivadas usando la palabra clave override. Esto permite implementar el polimorfismo, donde la llamada al método depende del tipo real del objeto en tiempo de ejecución, y no del tipo de la variable.
Ejemplo:
class Animal
{
public virtual void Speak()
{
Console.WriteLine("El animal hace un sonido");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("Guau-guau");
}
}
Animal a = new Dog();
a.Speak(); // Imprimirá "Guau-guau" gracias al método virtual
Sin virtual y override, la llamada al método sería estática y no consideraría el tipo del objeto en tiempo de ejecución.