Índice:
Definição - O que significa Override?
Substituir, em C #, é uma palavra-chave usada para substituir um membro virtual definido em uma classe base pela definição desse membro na classe derivada.
O modificador de substituição permite que os programadores especifiquem a especialização de um membro virtual existente herdado de uma classe base para fornecer uma nova implementação desse membro na classe derivada. Ele pode ser usado com um método, propriedade, indexador ou evento que precise ser modificado ou estendido em uma classe derivada.
O modificador de substituição destina-se a implementar o conceito de polimorfismo em C #.
A substituição difere dos novos modificadores, pois o primeiro é usado apenas para substituir um membro virtual de uma classe base, enquanto o último também ajuda a substituir um membro não virtual definido em uma classe base, ocultando a definição contida na classe base.
Techopedia explica Override
A substituição é usada principalmente no contexto do método virtual, no qual a execução de um tipo de método é determinada pelo tipo de tempo de execução da instância na qual o método é chamado. Durante a chamada, o chamador não precisa saber que o objeto chamado era uma instância da classe derivada.
Por exemplo, se Shape é uma classe base que fornece a implementação básica comum a todos os objetos de sua classe, ela pode ser definida com um método virtual, CalculateArea. Square pode ser uma classe derivada de Shape, que pode substituir o método CalculateArea para implementar a lógica necessária para calcular a área de um quadrado.
Para substituir um método em uma classe derivada:
- O método na classe base deve ser declarado com modificador virtual.
- O método na classe base pode ser abstrato, mas não estático.
- O modificador de acesso do método nas classes base e derivada deve ser o mesmo.
- O método deve ser definido com a mesma assinatura nas classes derivada e base.