Junior
O que é um método virtual em C#?
sobes.tech IA
Resposta da IA
Um método virtual em C# é um método declarado com a palavra-chave virtual na classe base, que pode ser sobrescrito em classes derivadas usando a palavra-chave override. Isto permite implementar o polimorfismo, onde a chamada do método depende do tipo real do objeto em tempo de execução, e não do tipo da variável.
Exemplo:
class Animal
{
public virtual void Speak()
{
Console.WriteLine("O animal faz um som");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("Au-au");
}
}
Animal a = new Dog();
a.Speak(); // Vai imprimir "Au-au" graças ao método virtual
Sem virtual e override, a chamada ao método seria estática e não consideraria o tipo real do objeto em tempo de execução.