Junior — Middle
Come avviene il overriding dei metodi nelle classi ereditarie in C#?
sobes.tech AI
Risposta dell'AI
In C#, la ridefinizione dei metodi nelle classi ereditarie avviene utilizzando le parole chiave virtual nella classe base e override in quella derivata. Il metodo nella classe base viene dichiarato come virtual, consentendo ai discendenti di sovrascriverlo. Nella classe derivata, un metodo con lo stesso nome e firma viene dichiarato con la parola chiave override.
Esempio:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Messaggio dalla classe base");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Messaggio sovrascritto dalla classe derivata");
}
}
Se il metodo della classe base non è dichiarato come virtual, abstract o override, non può essere sovrascritto, ma può essere nascosto usando la parola chiave new.