Junior — Middle
Je možné změnit funkčnost metody přepsáním v děděné třídě?
sobes.tech AI
Odpověď od AI
Ano, v C# je možné změnit funkčnost metody tím, že ji přepíšete v odvozené třídě. Pro to musí být základní metoda deklarována klíčovým slovem virtual, a v odvozené třídě ji lze přepsat pomocí klíčového slova override.
Příklad:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Zpráva z základní třídy");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Přepsaná zpráva z odvozené třídy");
}
}
Volání metody ShowMessage na objektu DerivedClass provede přepsanou verzi metody.