Sobes.tech
Junior — Middle

Πώς πραγματοποιείται η υπερχείλιση μεθόδων σε κληρονομούμενες κλάσεις σε C#;

sobes.tech AI

Απάντηση από AI

Στην C#, η υπεράσπιση μεθόδων σε κληρονομούμενες κλάσεις πραγματοποιείται με τις λέξεις-κλειδιά virtual στη βασική κλάση και override στην παράγωγη. Η μέθοδος στη βασική κλάση δηλώνεται ως virtual, επιτρέποντας στα παιδιά να την υπερασπίζονται. Στην παράγωγη κλάση, μια μέθοδος με το ίδιο όνομα και υπογραφή δηλώνεται με τη λέξη-κλειδί override.

Παράδειγμα:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Μήνυμα από τη βασική κλάση");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Υπερασπισμένο μήνυμα από την παράγωγη κλάση");
    }
}

Αν η μέθοδος της βασικής κλάσης δεν δηλώνεται ως virtual, abstract ή override, δεν μπορεί να υπερασπιστεί, αλλά μπορεί να κρυφτεί με τη χρήση της λέξης-κλειδιού new.