Obsah:
Definice - Co znamená Override?
Přepsat v C # je klíčové slovo používané k nahrazení virtuálního člena, který je definován v základní třídě, definicí tohoto člena v odvozené třídě.
Modifikátor potlačení umožňuje programátorům specifikovat specializaci existujícího virtuálního člena zděděného od základní třídy, aby zajistil novou implementaci tohoto člena ve odvozené třídě. Může být použit s metodou, vlastností, indexátorem nebo událostí, které je třeba v odvozené třídě upravit nebo rozšířit.
Modifikátor potlačení je určen k implementaci konceptu polymorfismu v C #.
Přepsání se liší od nových modifikátorů v tom, že první se používá pouze k přepsání virtuálního člena základní třídy, zatímco ten druhý také pomáhá potlačit neintuální člen definovaný v základní třídě skrýváním definice obsažené v základní třídě.
Techopedia vysvětluje Přepsat
Přepsání se většinou používá v souvislosti s virtuální metodou, ve které je provedení typu metody určeno runtime typem instance, na kterou je metoda vyvolána. Během vyvolání nemusí volající vědět, že volaný objekt byl instancí odvozené třídy.
Pokud je například Shape základní třída poskytující základní implementaci společnou pro všechny objekty této třídy, lze ji definovat pomocí virtuální metody CalculateArea. Čtverec může být třída odvozená od tvaru, která může potlačit metodu CalculateArea k implementaci logiky potřebné pro výpočet plochy čtverce.
Přepsání metody ve odvozené třídě:
- Metoda v základní třídě musí být deklarována pomocí virtuálního modifikátoru.
- Metoda v základní třídě může být abstraktní, ale nikoli statická.
- Modifikátor přístupu metody v základní i odvozené třídě by měl být stejný.
- Metoda by měla být definována se stejným podpisem v odvozených i základních třídách.