Tabla de contenido:
Definición - ¿Qué significa anular?
Override, en C #, es una palabra clave utilizada para reemplazar un miembro virtual que se define en una clase base con la definición de ese miembro en la clase derivada.
El modificador de anulación permite a los programadores especificar la especialización de un miembro virtual existente heredado de una clase base para proporcionar una nueva implementación de ese miembro en la clase derivada. Se puede usar con un método, propiedad, indexador o un evento que necesita ser modificado o extendido en una clase derivada.
El modificador de anulación está destinado a implementar el concepto de polimorfismo en C #.
La anulación difiere de los nuevos modificadores en que la primera se usa solo para anular un miembro virtual de una clase base, mientras que la segunda también ayuda a anular un miembro no virtual definido en una clase base al ocultar la definición contenida en la clase base.
Techopedia explica Override
La anulación se usa principalmente en el contexto del método virtual, en el que la ejecución de un tipo de método está determinada por el tipo de tiempo de ejecución de la instancia en la que se invoca el método. Durante la invocación, la persona que llama no necesita saber que el objeto llamado fue una instancia de clase derivada.
Por ejemplo, si Shape es una clase base que proporciona la implementación básica que es común para todos los objetos de su clase, se puede definir con un método virtual, CalculateArea. El cuadrado puede ser una clase derivada de Shape, que puede anular el método CalculateArea para implementar la lógica necesaria para calcular el área de un cuadrado.
Para anular un método en una clase derivada:
- El método en la clase base debe declararse con un modificador virtual.
- El método en la clase base puede ser abstracto pero no estático.
- El modificador de acceso del método en las clases base y derivadas debería ser el mismo.
- El método debe definirse con la misma firma en las clases derivadas y base.