Junior
Τι είναι μια εικονική μέθοδος σε C#;
sobes.tech AI
Απάντηση από AI
Ένα εικονικό μέθοδος σε C# είναι μια μέθοδος που δηλώνεται με τη λέξη-κλειδί virtual στην βασική κλάση, η οποία μπορεί να υπερισχυθεί σε τις παράγωγες κλάσεις χρησιμοποιώντας τη λέξη-κλειδί override. Αυτό επιτρέπει την υλοποίηση πολυμορφισμού, όπου η κλήση της μεθόδου εξαρτάται από τον πραγματικό τύπο του αντικειμένου κατά την εκτέλεση, και όχι από τον τύπο της μεταβλητής.
Παράδειγμα:
class Animal
{
public virtual void Speak()
{
Console.WriteLine("Το ζώο κάνει έναν ήχο");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("Γαβ-γαβ");
}
}
Animal a = new Dog();
a.Speak(); // Θα εμφανίσει "Γαβ-γαβ" χάρη στη εικονική μέθοδο
Χωρίς virtual και override, η κλήση της μεθόδου θα ήταν στατική και δεν θα λαμβάνονταν υπόψη ο πραγματικός τύπος του αντικειμένου κατά την εκτέλεση.