Ce este modificatorul de suprascriere în C#

Ce Este Modificatorul De Suprascriere In C



În circumstanțe care implică programarea orientată pe obiecte, deseori trebuie să oferim propria noastră implementare a unei metode care este deja specificată în clasa sau interfața de bază. Modificatorul de suprascriere C# este util în această situație. Modificatorul de suprascriere ne permite să modificăm comportamentul unei metode sau proprietăți moștenite. Acest articol va discuta despre utilizarea modificatorului de suprascriere în C# și despre cum poate fi folosit pentru a modifica comportamentul membrilor moșteniți.

Ce este modificatorul de suprascriere?

În C#, puteți crea o nouă implementare a unei metode sau proprietăți care este deja declarată în clasa de bază sau interfața utilizând modificatorul de suprascriere. Ne permite să schimbăm comportamentul moștenit al unui membru al clasei derivate. Când suprascriem o metodă sau o proprietate, putem furniza propria noastră implementare pentru acel membru, care va înlocui implementarea furnizată de clasa de bază sau interfața.

Cum se utilizează modificatorul de suprascriere?

Pentru a folosi modificatorul de înlocuire, trebuie să urmăm pașii de mai jos:







  • Moșteniți clasa de bază sau interfața care conține metoda sau proprietatea pe care dorim să o înlocuim.
  • În clasa derivată, declarați o nouă metodă sau proprietate cu același nume și semnătură.
  • Utilizați cuvântul cheie override înainte de declarația metodei sau a proprietății pentru a indica faptul că suprascriem membrul moștenit.

Pentru a vă ajuta să înțelegeți acest lucru mai în profunzime, iată un exemplu.



Luați în considerare o clasă de bază numită „Vehicul” care are funcția „Start” în numele său. Metoda Start imprimă pur și simplu un mesaj pe consolă care spune că vehiculul a pornit. Acum, să presupunem că vreau să creez o nouă clasă numită „Mașină” care moștenește din clasa Vehicul, dar oferă propria sa implementare pentru metoda Start. Iată cum putem realiza acest lucru folosind modificatorul de înlocuire:



folosind System ;

Clasa Vehicul
{
public virtual gol start ( )
{
Consolă. WriteLine ( „Vehiculul a pornit”. ) ;
}
}

masina de clasa : Vehicul
{
anulare publică gol start ( )
{
Consolă. WriteLine ( „Mașina a pornit”. ) ;
}
}

Programul clasei
{
static gol Principal ( şir [ ] argumente )
{
Vehicul vehicul = Vehicul nou ( ) ;
vehicul. start ( ) ; // Ieșire: Vehiculul a pornit.

Mașină mașină = mașină nouă ( ) ;
mașină. start ( ) ; // Ieșire: Mașina a pornit.
}
}

Aici am creat o nouă clasă numită „Mașină” care moștenește din clasa „Vehicul”. De asemenea, am declarat o nouă metodă numită „Start” în clasa „Mașină”, cu același nume și semnătură ca metoda din clasa „Vehicul”. Am folosit modificatorul de suprascriere pentru a indica faptul că suprascriem metoda moștenită.





În Main, am creat instanțe ale claselor Vehicle și Car și am apelat la metoda Start pe ele. Când apelez la metoda Start pe obiectul Vehicul, acesta afișează „Vehicul pornit” pe consolă. Când apelez la metoda Start pe obiectul Car, se afișează „Mașina pornită” pe consolă. Aceasta demonstrează că am suprascris cu succes metoda Start în clasa derivată:



Concluzie

Modificatorul de suprascriere în C# este un instrument puternic care ne permite să modificăm comportamentul unui membru moștenit. Este folosit pentru a furniza propria noastră implementare pentru o metodă sau proprietate care este deja definită în clasa de bază sau interfață. Am discutat cum să folosim modificatorul de suprascriere în C# și am demonstrat utilizarea acestuia cu un exemplu simplu. Folosind modificatorul de suprascriere, putem crea clase mai specializate care moștenesc de la o clasă de bază, dar oferă propriul comportament unic.