Junior — Middle
Zmení sa objekt, ak metódu prepíšete v podtriede?
sobes.tech AI
Odpoveď od AI
Ak v podtriede prepíšete metódu základnej triedy, pri volaní tejto metódy na objekte podtriedy sa použije nová implementácia. Objekt ako inštancia podtriedy sa nezmení, ale správanie metódy sa zmení. To umožňuje meniť alebo rozširovať funkcionalitu bez zmeny pôvodnej triedy.
Príklad v C#:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Správa z základnej triedy");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Správa z odvodené triedy");
}
}
// Použitie
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Vypíše: "Správa z odvodené triedy"
Týmto spôsobom sa štruktúra objektu nemení, ale jeho správanie cez metódu sa mení.