Sobes.tech
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.