Junior — Middle
Czy można zmienić funkcjonalność metody, nadpisując ją w klasie dziedziczącej?
sobes.tech AI
Odpowiedź od AI
Tak, w C# można zmienić funkcjonalność metody, nadpisując ją w klasie dziedziczącej. Aby to zrobić, metoda bazowa musi być zadeklarowana ze słowem kluczowym virtual, a w klasie pochodnej można ją nadpisać za pomocą słowa kluczowego override.
Przykład:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Wiadomość z klasy bazowej");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Nadpisana wiadomość z klasy pochodnej");
}
}
Wywołanie metody ShowMessage na obiekcie DerivedClass wykona nadpisaną wersję metody.