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(); // Ще изведе: "Съобщение от подклас"

По този начин, структурата на обекта не се променя, но поведението му чрез метода се променя.