Oltrepassare

Autore: Louise Ward
Data Della Creazione: 6 Febbraio 2021
Data Di Aggiornamento: 28 Giugno 2024
Anonim
OLTREPASSARE
Video: OLTREPASSARE

Contenuto

Definizione - Cosa significa Override?

Override, in C #, è una parola chiave utilizzata per sostituire un membro virtuale definito in una classe base con la definizione di quel membro nella classe derivata.


Il modificatore di override consente ai programmatori di specificare la specializzazione di un membro virtuale esistente ereditato da una classe base per fornire una nuova implementazione di quel membro nella classe derivata. Può essere utilizzato con un metodo, proprietà, indicizzatore o un evento che deve essere modificato o esteso in una classe derivata.

Il modificatore di override ha lo scopo di implementare il concetto di polimorfismo in C #.

L'override differisce dai nuovi modificatori in quanto il primo viene utilizzato solo per sovrascrivere un membro virtuale di una classe base mentre il secondo aiuta anche a sovrascrivere un membro non virtuale definito in una classe base nascondendo la definizione contenuta nella classe base.

Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.

Techopedia spiega Override

L'override viene utilizzato principalmente nel con del metodo virtuale, in cui l'esecuzione di un tipo di metodo è determinata dal tipo di runtime dell'istanza in cui viene invocato il metodo. Durante l'invocazione, il chiamante non ha bisogno di sapere che l'oggetto chiamato era un'istanza di classe derivata.


Ad esempio, se Shape è una classe di base che fornisce l'implementazione di base comune a tutti gli oggetti della sua classe, può essere definita con un metodo virtuale, CalculateArea. Square può essere una classe derivata da Shape, che può sovrascrivere il metodo CalculateArea per implementare la logica necessaria per il calcolo dell'area di un quadrato.

Per sovrascrivere un metodo in una classe derivata:

  • Il metodo nella classe base deve essere dichiarato con modificatore virtuale.
  • Il metodo nella classe base può essere astratto ma non statico.
  • Il modificatore di accesso del metodo nelle classi base e derivate dovrebbe essere lo stesso.
  • Il metodo deve essere definito con la stessa firma in entrambe le classi derivate e di base.
Questa definizione è stata scritta nel con di C #