Junior — Middle
Erklären Sie das Konzept der virtuellen Methoden in C# und ihre Rolle bei der Implementierung von Polymorphismus.
sobes.tech KI
Antwort von AI
In C# sind virtuelle Methoden Methoden, die mit dem Schlüsselwort virtual deklariert werden und in abgeleiteten Klassen mit override überschrieben werden können. Dies ist die Grundlage für die Implementierung von Polymorphismus — die Fähigkeit, Methoden von abgeleiteten Klassen über Referenzen auf die Basisklasse aufzurufen.
Wenn eine Methode als virtuell deklariert ist, wird der Methodenaufruf zur Laufzeit (dynamische Bindung) bestimmt, nicht zur Kompilierungszeit. Dies ermöglicht es einem Objekt, sich je nach tatsächlichem Typ unterschiedlich zu verhalten.
Beispiel:
class Animal {
public virtual void Speak() {
Console.WriteLine("Tier macht Geräusch");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("Wau-Wau");
}
}
Animal a = new Dog();
a.Speak(); // Gibt "Wau-Wau" aus
Hier, obwohl die Variable a vom Typ Animal ist, wird die Überschreibung Speak() der Klasse Dog aufgrund der virtuellen Methode aufgerufen.