Qual è il modificatore di override in C#

Qual è il modificatore di override in C#
In circostanze che coinvolgono una programmazione orientata agli oggetti, spesso dobbiamo offrire la nostra implementazione di un metodo che è già specificato nella classe o nell'interfaccia sottostante. Il modificatore di Override C# è utile in questa situazione. Il modificatore di override ci consente di modificare il comportamento di un metodo o proprietà ereditato. Questo articolo discuterà l'uso del modificatore di override in C# e come può essere utilizzato per modificare il comportamento dei membri ereditari.

Qual è il modificatore di override?

In C#, è possibile creare una nuova implementazione di un metodo o di una proprietà che è già dichiarata nella classe o nell'interfaccia di base utilizzando il modificatore di override. Ci consente di cambiare il comportamento ereditario di una classe derivata. Quando prevalliamo un metodo o una proprietà, possiamo fornire la nostra implementazione per quel membro, che sostituirà l'implementazione fornita dalla classe o dall'interfaccia di base.

Come utilizzare il modificatore di override?

Per utilizzare il modificatore di override, dobbiamo seguire i passaggi seguenti:

  • Ereditare la classe o l'interfaccia di base che contiene il metodo o la proprietà che vogliamo sovrascrivere.
  • Nella classe derivata, dichiarare un nuovo metodo o proprietà con lo stesso nome e firma.
  • Utilizzare la parola chiave di override prima del metodo o della dichiarazione di proprietà per indicare che stiamo preparando il membro ereditato.

Per aiutarti a comprenderlo in modo più approfondito, ecco un esempio.

Considera una classe base chiamata "veicolo" che ha la funzione "avvia" nel suo nome. Il metodo di avvio sta e stampando semplicemente un messaggio sulla console dicendo che il veicolo è iniziato. Ora, diciamo che voglio creare una nuova classe chiamata "auto" che eredita dalla classe del veicolo ma fornisce la propria implementazione per il metodo di avvio. Ecco come possiamo ottenere questo usando il modificatore di override:

usando il sistema;
Veicolo di classe

Public Virtual void start ()

Console.WriteLine ("Veicolo avviato.");


Auto di classe: veicolo

Public Override void start ()

Console.WriteLine ("Car è iniziata.");


Programma di classe

statico void main (string [] args)

Veicolo veicolo = nuovo veicolo ();
veicolo.Inizio(); // Output: veicolo avviato.
Auto auto = nuova auto ();
auto.Inizio(); // output: l'auto ha iniziato.

Qui ho creato una nuova classe chiamata "auto" che eredita dalla classe "veicolo". Ho anche dichiarato un nuovo metodo chiamato "start" nella classe "auto", con lo stesso nome e firma del metodo nella classe "veicolo". Ho usato il modificatore di override per indicare che stiamo preparando il metodo ereditato.

Nella principale, ho creato istanze sia del veicolo che delle classi di auto e ho chiamato il metodo di avvio su di essi. Quando chiamo il metodo di avvio sull'oggetto del veicolo, stampa "veicolo avviato" sulla console. Quando chiamo il metodo di avvio sull'oggetto automobilistico, stampa "auto iniziata" sulla console. Ciò dimostra che abbiamo superato con successo il metodo di avvio nella classe derivata:

Conclusione

Il modificatore di override in C# è uno strumento potente che ci consente di modificare il comportamento di un membro ereditato. Viene utilizzato per fornire la nostra implementazione per un metodo o proprietà già definito nella classe o nell'interfaccia di base. Abbiamo discusso di come utilizzare il modificatore di override in C# e ne abbiamo dimostrato l'uso con un semplice esempio. Utilizzando il modificatore di override, possiamo creare classi più specializzate che ereditano da una classe di base ma forniamo il proprio comportamento unico.