Junior — Middle
Czy obiekt się zmieni, jeśli jego metoda zostanie nadpisana w podklasie?
sobes.tech AI
Odpowiedź od AI
Jeśli w podklasie nadpiszesz metodę klasy bazowej, to podczas wywołania tej metody na obiekcie podklasy zostanie użyta nowa implementacja. Sam obiekt jako instancja podklasy się nie zmienia, ale zachowanie metody się zmienia. Pozwala to na modyfikację lub rozszerzenie funkcjonalności bez zmiany klasy źródłowej.
Przykład w C#:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Wiadomość z klasy bazowej");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Wiadomość z podklasy");
}
}
// Użycie
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Wyświetli: "Wiadomość z podklasy"
W ten sposób obiekt nie zmienia się jako struktura, ale jego zachowanie przez metodę się zmienia.