Sobes.tech
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.