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(); // Տպում է: "Ենթասինակից հաղորդագրություն"
Այսպիսով, օբյեկտի կառուցվածքը չի փոխվում, բայց նրա վարքագիծը փոխվում է մեթոդի միջոցով։