Método virtual

Definición - ¿Qué significa Método Virtual?

Un método virtual es un método de clase declarado que permite reemplazarlo por un método con la misma firma de clase derivada. Los métodos virtuales son herramientas que se utilizan para implementar la característica de polimorfismo de un lenguaje orientado a objetos, como C #. Cuando se invoca un método de instancia de objeto virtual, el método a llamar se determina en función del tipo de tiempo de ejecución del objeto, que suele ser el de la clase más derivada.

Techinfo explica el método virtual

Se utiliza un método virtual para anular la implementación de la clase base especificada cuando un objeto de tiempo de ejecución es del tipo derivado. Por tanto, los métodos virtuales facilitan la funcionalidad coherente de un conjunto de objetos relacionados.

Un ejemplo de implementación de un método virtual son las clases Manager y Clerk, derivadas de la clase base Employee con un método virtual CalculateSalary, que puede anularse en clases derivadas con la lógica necesaria para el tipo apropiado. Se puede llamar a una lista de objetos de tipo Empleado en tiempo de ejecución para calcular un salario, sin conocer el tipo de implementación específico.

La implementación del método virtual difiere en lenguajes de programación como C ++, Java, C # y Visual Basic .NET. En Java, todos los métodos no estáticos son virtuales de forma predeterminada, con la excepción de los métodos que son privados o están marcados con la palabra clave final. C # requiere la palabra clave virtual para los métodos virtuales, con la excepción de los métodos privados, estáticos y abstractos, y la palabra clave override para reemplazar el método de la clase derivada.

Un método virtual puro es un método virtual que exige que una clase derivada implemente un método y no permite la creación de instancias de la clase base o clase abstracta.