Junior — Middle
Změní se objekt, pokud přepíšete jeho metodu v podtřídě?
sobes.tech AI
Odpověď od AI
Pokud v podtřídě přepíšete metodu základní třídy, při volání této metody na objektu podtřídy bude použita nová implementace. Objekt jako instance podtřídy se nezmění, ale chování metody se změní. To umožňuje měnit nebo rozšiřovat funkčnost bez změny původní třídy.
Příklad v C#:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Zpráva z základní třídy");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Zpráva z odvozené třídy");
}
}
// Použití
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Vypíše: "Zpráva z odvozené třídy"
Tímto způsobem se struktura objektu nemění, ale jeho chování prostřednictvím metody ano.