Sobes.tech
Junior — Middle

Obiectul se va schimba dacă metoda sa este suprascrisă în subclasă?

sobes.tech AI

Răspuns de la AI

Dacă într-o subclasă se suprascrie o metodă a clasei de bază, atunci la apelarea acestei metode pe un obiect de subclasă se va utiliza noua implementare. Obiectul în sine, ca instanță a subclasei, nu se schimbă, dar comportamentul metodei se schimbă. Acest lucru permite modificarea sau extinderea funcționalității fără a modifica clasa originală.

Exemplu în C#:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Mesaj din clasa de bază");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Mesaj din subclasă");
    }
}

// Utilizare
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Va afișa: "Mesaj din subclasă"

Astfel, obiectul nu se schimbă ca structură, dar comportamentul său prin metodă se schimbă.