Junior — Middle
Είναι δυνατόν να αλλάξετε τη λειτουργικότητα μιας μεθόδου υπερασπιζόμενοι την σε μια κληρονομούμενη κλάση;
sobes.tech AI
Απάντηση από AI
Ναι, στη C# είναι δυνατή η τροποποίηση της λειτουργικότητας μιας μεθόδου επαναπροσδιορίζοντάς την σε μια κλάση που κληρονομεί. Για αυτό, η βασική μέθοδος πρέπει να δηλωθεί με τη λέξη-κλειδί virtual, και στην κλάση που κληρονομεί μπορεί να επαναπροσδιοριστεί με τη λέξη-κλειδί override.
Παράδειγμα:
class BaseClass
{
public virtual void ShowMessage()
{
Console.WriteLine("Μήνυμα από τη βασική κλάση");
}
}
class DerivedClass : BaseClass
{
public override void ShowMessage()
{
Console.WriteLine("Υπερκαθορισμένο μήνυμα από την κλάση που κληρονομεί");
}
}
Η κλήση της μεθόδου ShowMessage σε ένα αντικείμενο της DerivedClass θα εκτελέσει την υπερκαθορισμένη έκδοση της μεθόδου.