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ă.