Sobes.tech
Junior — Middle

Jak se v C# provádí přepisování metod v děděných třídách?

sobes.tech AI

Odpověď od AI

V C# se přepisování metod v děděných třídách provádí pomocí klíčových slov virtual v základní třídě a override v odvozené třídě. Metoda v základní třídě je deklarována jako virtual, což umožňuje potomkům ji přepsat. V odvozené třídě je metoda se stejným názvem a signaturou deklarována s klíčovým slovem 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");
    }
}

Pokud metoda v základní třídě není deklarována jako virtual, abstract nebo override, nelze ji přepsat, ale lze ji skrýt pomocí klíčového slova new.