Override

Definição - o que significa Substituir?

Override, em C #, é uma palavra-chave usada para substituir um membro virtual definido em uma classe base com a 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 um evento que precisa ser modificado ou estendido em uma classe derivada.

O modificador de substituição destina-se a implementar o conceito de polimorfismo em C #.

Override difere de novos modificadores porque 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.

Definirtec explica a substituição

Override é usado principalmente no contexto de 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 invocação, o chamador não precisa saber que o objeto chamado era uma instância da classe derivada.

Por exemplo, se Shape for uma classe base que fornece a implementação básica comum para 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 o 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 derivadas deve ser o mesmo.
  • O método deve ser definido com a mesma assinatura nas classes derivadas e nas classes base.

Esta definição foi escrita no contexto de C #