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.