Junior — Middle
Jak w C# realizuje się nadpisywanie metod w dziedziczonych klasach?
sobes.tech AI
Odpowiedź od AI
W C#, nadpisywanie metod w klasach dziedziczących odbywa się za pomocą słów kluczowych virtual w klasie bazowej i override w klasie pochodnej. Metoda w klasie bazowej jest deklarowana jako virtual, co pozwala potomkom ją nadpisywać. W klasie pochodnej metoda o tej samej nazwie i sygnaturze jest deklarowana z użyciem 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");
}
}
Jeśli metoda klasy bazowej nie jest zadeklarowana jako virtual, abstract lub override, nie można jej nadpisać, ale można ją ukryć za pomocą słowa kluczowego new.