Co je modifikátor přepsání v C#

Co Je Modifikator Prepsani V C



Za okolností, které zahrnují objektově orientované programování, často potřebujeme nabídnout vlastní implementaci metody, která je již specifikována v základní třídě nebo rozhraní. V této situaci je užitečný modifikátor přepsání C#. Modifikátor override nám umožňuje upravit chování zděděné metody nebo vlastnosti. Tento článek pojednává o použití modifikátoru přepsání v C# a o tom, jak jej lze použít k úpravě chování zděděných členů.

Co je modifikátor přepsání?

V C# můžete vytvořit novou implementaci metody nebo vlastnosti, která je již deklarována v základní třídě nebo rozhraní pomocí modifikátoru přepsání. Umožňuje nám změnit chování zděděného člena odvozené třídy. Když přepíšeme metodu nebo vlastnost, můžeme pro tohoto člena poskytnout vlastní implementaci, která nahradí implementaci poskytovanou základní třídou nebo rozhraním.

Jak používat modifikátor přepsání?

Chcete-li použít modifikátor přepsání, musíme provést následující kroky:







  • Zdědit základní třídu nebo rozhraní, které obsahuje metodu nebo vlastnost, kterou chceme přepsat.
  • V odvozené třídě deklarujte novou metodu nebo vlastnost se stejným názvem a podpisem.
  • Použijte klíčové slovo override před deklarací metody nebo vlastnosti, abyste označili, že přepisujeme zděděný člen.

Abychom to pochopili hlouběji, uvádíme příklad.



Zvažte základní třídu s názvem „Vehicle“, která má ve svém názvu funkci „Start“. Metoda Start jednoduše vytiskne zprávu do konzole, že vozidlo nastartovalo. Nyní řekněme, že chci vytvořit novou třídu s názvem „Car“, která zdědí třídu Vehicle, ale poskytuje vlastní implementaci pro metodu Start. Zde je návod, jak toho dosáhnout pomocí modifikátoru přepsání:



pomocí System ;

Vozidlo třídy
{
veřejný virtuální prázdnota Start ( )
{
Řídicí panel. WriteLine ( 'Vozidlo nastartováno.' ) ;
}
}

třída Auto : Vozidlo
{
veřejné přepsání prázdnota Start ( )
{
Řídicí panel. WriteLine ( 'Auto nastartováno.' ) ;
}
}

třídní program
{
statický prázdnota Hlavní ( tětiva [ ] argumenty )
{
Vozidlo vozidlo = nové Vozidlo ( ) ;
vozidlo. Start ( ) ; // Výstup: Vozidlo nastartováno.

Auto auto = nové auto ( ) ;
auto. Start ( ) ; // Výstup: Auto nastartováno.
}
}

Zde jsem vytvořil novou třídu s názvem „Auto“, která přebírá třídu „Vehicle“. Také jsem deklaroval novou metodu nazvanou „Start“ ve třídě „Auto“ se stejným názvem a podpisem jako metoda ve třídě „Vehicle“. Použil jsem modifikátor override k označení, že přepisujeme zděděnou metodu.





V Main jsem vytvořil instance třídy Vehicle i Car a zavolal na ně metodu Start. Když zavolám metodu Start na objektu Vehicle, vypíše na konzolu „Vehicle started“. Když zavolám metodu Start na objektu Car, vypíše se na konzolu „Auto startováno“. To ukazuje, že jsme úspěšně přepsali metodu Start v odvozené třídě:



Závěr

Modifikátor override v C# je mocný nástroj, který nám umožňuje upravit chování zděděného člena. Používá se k poskytování naší vlastní implementace pro metodu nebo vlastnost, která je již definována v základní třídě nebo rozhraní. Diskutovali jsme o použití modifikátoru přepsání v C# a demonstrovali jeho použití na jednoduchém příkladu. Pomocí modifikátoru override můžeme vytvořit specializovanější třídy, které dědí ze základní třídy, ale poskytují své vlastní jedinečné chování.