Sobes.tech
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, η κλήση της μεθόδου θα ήταν στατική και δεν θα λαμβάνονταν υπόψη ο πραγματικός τύπος του αντικειμένου κατά την εκτέλεση.