Cos'è il modificatore di override in C#

Cos E Il Modificatore Di Override In C



In circostanze che coinvolgono la programmazione orientata agli oggetti, spesso abbiamo bisogno di 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 override ci consente di modificare il comportamento di un metodo o di una proprietà ereditati. Questo articolo discuterà l'uso del modificatore override in C# e come può essere usato per modificare il comportamento dei membri ereditati.

Che cos'è il modificatore di sostituzione?

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

Come utilizzare il modificatore di sostituzione?

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







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

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



Considera una classe base chiamata 'Vehicle' che ha la funzione 'Start' nel suo nome. Il metodo Start stampa semplicemente un messaggio sulla console dicendo che il veicolo è partito. Ora, supponiamo di voler creare una nuova classe chiamata 'Car' che eredita dalla classe Vehicle ma fornisce la propria implementazione per il metodo Start. Ecco come possiamo ottenere questo risultato utilizzando il modificatore override:



usando Sistema ;

classe Veicolo
{
pubblico virtuale vuoto Inizio ( )
{
Consolle. Linea di scrittura ( 'Veicolo avviato.' ) ;
}
}

auto di classe : Veicolo
{
prelazione pubblica vuoto Inizio ( )
{
Consolle. Linea di scrittura ( 'Auto avviata'. ) ;
}
}

programma di classe
{
statico vuoto Principale ( corda [ ] arg )
{
Veicolo veicolo = nuovo Veicolo ( ) ;
veicolo. Inizio ( ) ; // Output: veicolo avviato.

Macchina per auto = nuova auto ( ) ;
auto. Inizio ( ) ; // Output: l'auto è partita.
}
}

Qui ho creato una nuova classe chiamata 'Car' che eredita dalla classe 'Vehicle'. Ho anche dichiarato un nuovo metodo chiamato 'Start' nella classe 'Car', con lo stesso nome e firma del metodo nella classe 'Vehicle'. Ho usato il modificatore override per indicare che stiamo sovrascrivendo il metodo ereditato.





Nel Main, ho creato istanze di entrambe le classi Vehicle e Car e ho chiamato il metodo Start su di esse. Quando chiamo il metodo Start sull'oggetto Vehicle, stampa 'Veicolo avviato' sulla console. Quando chiamo il metodo Start sull'oggetto Car, stampa 'Auto avviata' sulla console. Ciò dimostra che abbiamo eseguito correttamente l'override del metodo Start nella classe derivata:



Conclusione

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