Čo je modifikátor prepísania v C#

Co Je Modifikator Prepisania V C



Za okolností, ktoré zahŕňajú objektovo orientované programovanie, často potrebujeme ponúknuť vlastnú implementáciu metódy, ktorá je už špecifikovaná v základnej triede alebo rozhraní. V tejto situácii je užitočný modifikátor prepísania C#. Modifikátor override nám umožňuje upraviť správanie zdedenej metódy alebo vlastnosti. Tento článok bude diskutovať o použití modifikátora prepísania v C# a o tom, ako ho možno použiť na úpravu správania zdedených členov.

Čo je modifikátor prepísania?

V C# môžete vytvoriť novú implementáciu metódy alebo vlastnosti, ktorá je už deklarovaná v základnej triede alebo rozhraní pomocou modifikátora prepísania. Umožňuje nám zmeniť správanie zdedeného člena odvodenej triedy. Keď prepíšeme metódu alebo vlastnosť, môžeme pre tohto člena poskytnúť vlastnú implementáciu, ktorá nahradí implementáciu poskytovanú základnou triedou alebo rozhraním.

Ako používať modifikátor prepísania?

Ak chcete použiť modifikátor prepísania, musíme postupovať podľa nasledujúcich krokov:







  • Zdediť základnú triedu alebo rozhranie, ktoré obsahuje metódu alebo vlastnosť, ktorú chceme prepísať.
  • V odvodenej triede deklarujte novú metódu alebo vlastnosť s rovnakým názvom a podpisom.
  • Použite kľúčové slovo prepísať pred deklaráciou metódy alebo vlastnosti, aby ste označili, že prepisujeme zdedený člen.

Aby ste to pochopili hlbšie, uvádzame príklad.



Predstavte si základnú triedu s názvom „Vozidlo“, ktorá má vo svojom názve funkciu „Štart“. Metóda Štart jednoducho vytlačí správu do konzoly, že vozidlo naštartovalo. Teraz povedzme, že chcem vytvoriť novú triedu s názvom „Car“, ktorá zdedí triedu Vehicle, ale poskytuje svoju vlastnú implementáciu pre metódu Štart. Tu je návod, ako to môžeme dosiahnuť pomocou modifikátora prepísania:



pomocou systému ;

Vozidlo triedy
{
verejné virtuálne neplatné Štart ( )
{
Konzola. WriteLine ( 'Vozidlo naštartované.' ) ;
}
}

triedy Auto : Vozidlo
{
verejné prepísanie neplatné Štart ( )
{
Konzola. WriteLine ( 'Auto naštartovalo.' ) ;
}
}

triedny program
{
statické neplatné Hlavná ( reťazec [ ] args )
{
Vozidlo = nové Vozidlo ( ) ;
vozidlo. Štart ( ) ; // Výstup: Vozidlo naštartované.

Auto auto = nové auto ( ) ;
auto. Štart ( ) ; // Výstup: Auto naštartované.
}
}

Tu som vytvoril novú triedu s názvom „Auto“, ktorá je prevzatá z triedy „Vozidlo“. Tiež som deklaroval novú metódu s názvom „Štart“ v triede „Auto“ s rovnakým názvom a podpisom ako metóda v triede „Vozidlo“. Modifikátor prepísania som použil na označenie, že prepisujeme zdedenú metódu.





V Hlavnej som vytvoril inštancie tried Vozidlo aj Vozidlo a nazval som na nich metódu Štart. Keď zavolám metódu Štart na objekte Vehicle, na konzole sa vypíše „Vozidlo spustené“. Keď zavolám metódu Štart na objekte Auto, na konzole sa vypíše „Auto spustené“. To ukazuje, že sme úspešne prepísali metódu Štart v odvodenej triede:



Záver

Modifikátor prepísania v C# je výkonný nástroj, ktorý nám umožňuje upraviť správanie zdedeného člena. Používa sa na poskytovanie našej vlastnej implementácie pre metódu alebo vlastnosť, ktorá je už definovaná v základnej triede alebo rozhraní. Diskutovali sme o tom, ako používať modifikátor override v C# a demonštrovali sme jeho použitie na jednoduchom príklade. Použitím modifikátora override môžeme vytvoriť špecializovanejšie triedy, ktoré dedia zo základnej triedy, ale poskytujú svoje vlastné jedinečné správanie.