Sobes.tech
Junior — Middle

Կարո՞ղ է լինել մեթոդի գործառույթը փոխել՝ այն վերագրելով ժառանգական դասում։

sobes.tech AI

Պատասխան AI-ից

Այո, C#-ում հնարավոր է փոփոխել մեթոդի գործառույթը՝ այն վերագրելով ժառանգական դասում։ Դրա համար հիմնական մեթոդը պետք է հայտարարվի virtual բանալի բառով, իսկ ժառանգական դասում այն կարող է վերագրել override բանալի բառով։

Օրինակ՝

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Հիմնական դասից հաղորդագրություն");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Վերագրած հաղորդագրություն ժառանգական դասից");
    }
}

DerivedClass օբյեկտի վրա ShowMessage մեթոդի կանչը կիրականացնի վերագրած տարբերակը։