Polymorphie und dynamische Bindung
Verstehen Sie Polymorphie: eine Schnittstelle, viele Implementierungen. Lernen Sie die dynamische Bindung kennen, bei der der ausgeführte Methodencode vom Objekttyp abhängt.
Polymorphie und dynamische Bindung ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. 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 Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Definition
Polymorphie bedeutet, dass ein Referenztyp auf Objekte verschiedener Unterklassen verweisen kann. Beim Aufruf einer Methode wird die passende Version anhand des tatsächlichen Objekts ausgeführt, nicht anhand des Variablentyps.
Warum ist das nützlich?
Dadurch können Sie flexiblen und wiederverwendbaren Code schreiben. Eine List von Dog- und Cat-Objekten kann beispielsweise als Animal-Objekte behandelt werden, und der Aufruf von speak() funktioniert für jedes Objekt korrekt. Separate Codepfade sind nicht erforderlich.
Dynamische Bindung
Dynamische Bindung bedeutet, dass zur Laufzeit entschieden wird, welcher Methodenrumpf ausgeführt wird. Die JVM betrachtet bei der Auswahl der Methode den tatsächlichen Objekttyp und nicht nur den deklarierten Typ.
Einheitliche Aufrufe
Mit Polymorphie können Sie alle Unterklassen auf dieselbe Weise behandeln. Derselbe Methodenaufruf funktioniert für jedes Objekt, und die JVM wählt die passende Version aus. Das führt zu übersichtlicherem und kürzerem Code.
Beispiel aus dem Alltag
Beispiel: Shape ist die Oberklasse. Circle und Square überschreiben draw(). Eine Schleife über eine Liste von Shape ruft für jedes Element draw() auf, und die passende Version wird ausgeführt. Das ist Polymorphie in der Praxis.
Code: Demo zur Polymorphie
Code: Dog und Cat überschreiben speak(). Ein Array von Animal enthält verschiedene Objekte. Jeder Aufruf führt automatisch die passende Version aus und zeigt Polymorphie in Aktion.
public class Main {
static class Animal {
void speak() {
System.out.println("Some animal sound");
}
}
static class Dog extends Animal {
@Override
void speak() {
System.out.println("Woof!");
}
}
static class Cat extends Animal {
@Override
void speak() {
System.out.println("Meow!");
}
}
public static void main(String[] args) {
Animal[] pets = { new Dog(), new Cat(), new Animal() };
for (Animal a : pets) {
a.speak(); // dynamic binding picks correct version
}
}
}
Polymorphie überprüfen
Kurze Überprüfung: Was ermöglicht Ihnen Polymorphie in Java?
Zusammenfassung
Zusammenfassung: Polymorphie bedeutet: eine Referenz, viele Formen. Die dynamische Bindung wählt die Methode zur Laufzeit aus und ermöglicht flexiblen, übersichtlichen Code.
Häufig gestellte Fragen
Ist die Lektion „Polymorphie und dynamische Bindung“ kostenlos?
Ja — der vollständige Text von „Polymorphie und dynamische Bindung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Polymorphie und dynamische Bindung“?
Verstehen Sie Polymorphie: eine Schnittstelle, viele Implementierungen. Lernen Sie die dynamische Bindung kennen, bei der der ausgeführte Methodencode vom Objekttyp abhängt. Du übst Java 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 Java Academy zu starten?
Keine Vorkenntnisse erforderlich. Java 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 3 von 3.
Wie lange dauert die Lektion „Polymorphie und dynamische Bindung“?
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 Java Academy-Lektion Code schreiben und ausführen?
Ja. Jede Java 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
- extends und super
- Methoden überschreiben
- Polymorphie und dynamische Bindung