Volver a la página principal
lunes 24 febrero 2025
6

Qué es y cómo usar 'virtual' en C#

La palabra clave virtual en C# se utiliza para indicar que un método o propiedad puede ser sobrescrito en una clase derivada. Esto permite la implementación de polimorfismo en la programación orientada a objetos, facilitando la personalización del comportamiento de los métodos en clases heredadas.

Cómo funciona 'virtual' en C#

Cuando un método o propiedad se declara con virtual, significa que puede ser modificado en cualquier clase que lo herede mediante la palabra clave override. Si una clase derivada no sobrescribe el método, se ejecutará la implementación de la clase base.

Sintaxis

public class ClaseBase  
{  
    public virtual void MostrarMensaje()  
    {  
        Console.WriteLine("Mensaje desde la clase base");  
    }  
}  

public class ClaseDerivada : ClaseBase  
{  
    public override void MostrarMensaje()  
    {  
        Console.WriteLine("Mensaje desde la clase derivada");  
    }  
}

En este ejemplo, el método MostrarMensaje es declarado como virtual en la ClaseBase, permitiendo que la ClaseDerivada lo sobrescriba usando override.

Tabla de características

Modificador Descripción
virtual Permite que un método o propiedad sea sobrescrito en una clase derivada.
override Se usa en la clase derivada para modificar un método virtual de la clase base.
sealed Evita que un método sobrescrito vuelva a ser modificado en otras clases derivadas.

Ejemplos de uso

Ejemplo básico de sobrescritura

ClaseBase objeto = new ClaseDerivada();
objeto.MostrarMensaje();  
// Salida: "Mensaje desde la clase derivada"

Uso de sealed para evitar más sobrescrituras

public class ClaseFinal : ClaseDerivada  
{  
    public sealed override void MostrarMensaje()  
    {  
        Console.WriteLine("Mensaje final sin posibilidad de sobrescritura");  
    }  
}

Aquí, sealed evita que cualquier otra clase herede y sobrescriba MostrarMensaje.

Etiquetas:
csharp
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer