Polymorphie und Methodenüberschreibung
Beherrschen Sie Polymorphie, um durch Methodenüberschreibung flexiblen und wiederverwendbaren Code zu erstellen
Polymorphie und Methodenüberschreibung ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 7 von 7. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 7 Lektionen.
Einführung in die Polymorphie
Polymorphie und Methodenüberschreibung
Willkommen zur nächsten Lektion! In dieser Lektion lernen Sie Polymorphie kennen, ein grundlegendes Konzept der objektorientierten Programmierung, und erfahren, wie Sie Methoden überschreiben, um flexiblen und wiederverwendbaren Code zu schreiben. Legen wir los!

Was ist Polymorphie?
Was ist Polymorphie?
Polymorphie bedeutet „viele Formen“ und ermöglicht es, Objekte verschiedener Klassen als Objekte einer gemeinsamen Basisklasse zu behandeln. Dadurch wird Ihr Code flexibler und wiederverwendbarer.
Beispiel: Eine Methode kann sich je nach Typ des Objekts, mit dem sie arbeitet, unterschiedlich verhalten.
Wichtiger Punkt: Polymorphie wird in C# durch Methodenüberschreibung und Schnittstellen erreicht.
Methodenüberschreibung verstehen
Methodenüberschreibung verstehen
Die Methodenüberschreibung ermöglicht es einer abgeleiteten Klasse, eine spezifische Implementierung einer Methode bereitzustellen, die bereits in ihrer Basisklasse definiert ist. Verwenden Sie das Schlüsselwort virtual in der Basisklasse und das Schlüsselwort override in der abgeleiteten Klasse. Beispiel:
Tipp: Die Methodenüberschreibung stellt sicher, dass unabhängig vom Referenztyp des Objekts die richtige Methode aufgerufen wird.
using System;
class Animal {
public virtual void Speak() {
Console.WriteLine("The animal makes a sound.");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("The dog barks.");
}
}
class Cat : Animal {
public override void Speak() {
Console.WriteLine("The cat meows.");
}
}
class Program {
static void Main() {
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.Speak(); // Outputs: The dog barks.
myCat.Speak(); // Outputs: The cat meows.
}
}
Polymorphie verwenden
Polymorphie verwenden
Polymorphie ermöglicht es Ihnen, Code zu schreiben, der über eine gemeinsame Schnittstelle mit Objekten unterschiedlicher Typen funktioniert. Beispiel:
Wichtiger Punkt: Mit Polymorphie können Sie allgemeineren und wiederverwendbaren Code schreiben.
using System;
class Animal {
public virtual void Speak() {
Console.WriteLine("The animal makes a sound.");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("The dog barks.");
}
}
class Cat : Animal {
public override void Speak() {
Console.WriteLine("The cat meows.");
}
}
class Program {
static void Main() {
Animal[] animals = { new Dog(), new Cat() };
foreach (Animal animal in animals) {
animal.Speak(); // Calls the appropriate method for each object
}
}
}
Das Schlüsselwort base bei der Überschreibung verwenden
Das Schlüsselwort base bei der Überschreibung verwenden
Mit dem Schlüsselwort base wird eine Methode der Basisklasse aus der überschriebenen Methode heraus aufgerufen. Beispiel:
Tipp: Verwenden Sie base, wenn Sie die Funktionalität der Basisklasse in einer überschriebenen Methode beibehalten möchten.
using System;
class Animal {
public virtual void Speak() {
Console.WriteLine("The animal makes a sound.");
}
}
class Dog : Animal {
public override void Speak() {
base.Speak(); // Calls the base class method
Console.WriteLine("The dog barks.");
}
}
class Program {
static void Main() {
Dog myDog = new Dog();
myDog.Speak(); // Outputs: The animal makes a sound. The dog barks.
}
}
Abstrakte Klassen und Methoden
Abstrakte Klassen und Methoden
Abstrakte Klassen dienen als Vorlage für abgeleitete Klassen. Sie können abstrakte Methoden enthalten, die in der abgeleiteten Klasse überschrieben werden müssen. Beispiel:
Wichtiger Punkt: Abstrakte Methoden erzwingen, dass abgeleitete Klassen ihre eigene Implementierung bereitstellen.
using System;
abstract class Animal {
public abstract void Speak(); // Abstract method
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("The dog barks.");
}
}
class Program {
static void Main() {
Animal myDog = new Dog();
myDog.Speak(); // Outputs: The dog barks.
}
}
Übungsaufgabe
Übungsaufgabe
Erstellen Sie eine abstrakte Klasse Shape mit einer abstrakten Methode CalculateArea(). Erstellen Sie die abgeleiteten Klassen Rectangle und Circle, die CalculateArea() implementieren. Beispiel:
using System;
abstract class Shape {
public abstract double CalculateArea();
}
class Rectangle : Shape {
public double Width { get; set; }
public double Height { get; set; }
public override double CalculateArea() {
return Width * Height;
}
}
class Circle : Shape {
public double Radius { get; set; }
public override double CalculateArea() {
return Math.PI * Radius * Radius;
}
}
class Program {
static void Main() {
Shape rectangle = new Rectangle { Width = 4, Height = 5 };
Shape circle = new Circle { Radius = 3 };
Console.WriteLine("Rectangle Area: " + rectangle.CalculateArea());
Console.WriteLine("Circle Area: " + circle.CalculateArea());
}
}
Bewährte Vorgehensweisen bei Polymorphie
Bewährte Vorgehensweisen bei Polymorphie
Hier sind einige bewährte Vorgehensweisen:
- Verwenden Sie Polymorphie, um Code zu vereinfachen und Duplikate zu vermeiden.
- Überschreiben Sie nur Methoden, die in abgeleiteten Klassen ein spezifisches Verhalten erfordern.
- Verwenden Sie abstrakte Klassen und Methoden für gemeinsame Schnittstellen in abgeleiteten Klassen.
Tipp: Polymorphie macht Ihren Code leichter erweiterbar und wartbar.
Gute Arbeit!
Gute Arbeit!
Herzlichen Glückwunsch! Sie haben gelernt, wie Sie Polymorphie und Methodenüberschreibung verwenden, um flexiblen und wiederverwendbaren Code zu schreiben. In der nächsten Lektion beschäftigen wir uns mit der Arbeit mit Schnittstellen, um Abstraktion zu erreichen und mehrere Verhaltensweisen zu implementieren. Programmieren wir weiter!

Häufig gestellte Fragen
Ist die Lektion „Polymorphie und Methodenüberschreibung“ kostenlos?
Ja — der vollständige Text von „Polymorphie und Methodenüberschreibung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 7 Lektionen.
Was lerne ich in „Polymorphie und Methodenüberschreibung“?
Beherrschen Sie Polymorphie, um durch Methodenüberschreibung flexiblen und wiederverwendbaren Code zu erstellen Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C# Academy zu starten?
Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 7 von 7.
Wie lange dauert die Lektion „Polymorphie und Methodenüberschreibung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?
Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Was ist objektorientierte Programmierung?
- Klassen und Objekte definieren
- Eigenschaften und Methoden verstehen
- Konstruktoren in C#
- Kapselung und Zugriffsmodifizierer
- Vererbung: Code wiederverwenden
- Polymorphie und Methodenüberschreibung