Sobes.tech
Junior — Middle

Կարող է օբյեկտը փոխվել, եթե նրա մեթոդը վերագրի ենթակլասում?

sobes.tech AI

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

Եթե ենթասինակում վերաշարադրել եք հիմնական դասի մեթոդը, ապա այդ մեթոդի կանչի ժամանակ ենթասինակի օբյեկտում կօգտագործվի նոր իրականացումը: Օբյեկտը որպես ենթասինակի օրինակ չի փոխվում, բայց մեթոդի վարքագիծը փոխվում է: Սա թույլ է տալիս փոփոխել կամ ընդլայնել գործառույթը առանց սկզբնական դասը փոխելու:

C#-ում օրինակ:

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

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

// Օգտագործում
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Տպում է: "Ենթասինակից հաղորդագրություն"

Այսպիսով, օբյեկտի կառուցվածքը չի փոխվում, բայց նրա վարքագիծը փոխվում է մեթոդի միջոցով։