Sobes.tech
Junior — Middle

Vai ir iespējams mainīt metodes funkcionalitāti, to pārrakstot mantojošajā klasē?

sobes.tech AI

Atbilde no AI

Jā, C# ir iespējams mainīt metodes funkcionalitāti, to pārrakstot mantošajā klasē. Tam pamatmetodei jābūt deklarētai ar atslēgas vārdu virtual, un mantošajā klasē to var pārrakstīt ar atslēgas vārdu override.

Piemērs:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Pamatklases ziņojums");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Pārrakstīts ziņojums no mantošās klases");
    }
}

ShowMessage metodes izsaukums DerivedClass objektā izpildīs pārrakstīto metodes versiju.