Sobes.tech
Junior — Middle

Kuidas C#-s teostatakse meetodite ülekirjutamine pärandatud klassides?

sobes.tech AI

Vastus AI-lt

C# keeles pärilikes klassides meetodite ülekirjutamine toimub põhiklassis virtual märksõna ja pärilikus klassis override märksõna abil. Põhiklassis deklareeritakse meetod kui virtual, mis võimaldab järeltulijatel seda ülekirjutada. Pärilikus klassis deklareeritakse sama nime ja signatuuriga meetod override märksõnaga.

Näide:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Põhiklassi sõnum");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Ülekirjutatud sõnum pärilikus klassis");
    }
}

Kui põhiklassi meetod ei ole deklareeritud kui virtual, abstract või override, siis seda ei saa ülekirjutada, kuid seda saab varjata, kasutades märksõna new.