Sobes.tech
Junior — Middle

Kas on võimalik muuta meetodi funktsionaalsust, seda ülekirjutades pärilikus klassis?

sobes.tech AI

Vastus AI-lt

Jah, C#-s on võimalik muuta meetodi funktsionaalsust, üle kirjutades selle pärilikus klassis. Selleks peab põhimeetod olema deklareeritud võtmesõnaga virtual, ning pärilikus klassis saab seda üle kirjutada võtmesõnaga override.

Näide:

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

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

ShowMessage meetodi väljakutse DerivedClass objektil käivitab meetodi üle kirjutatud versiooni.