Skip to content
Informatik · Klasse 12

Ideen für aktives Lernen

Polymorphie und Schnittstellen

Aktives Lernen funktioniert bei diesem Thema besonders gut, weil Polymorphie und Schnittstellen abstrakte Konzepte sind, die durch praktische Anwendung greifbar werden. Schülerinnen und Schüler verstehen diese Prinzipien erst richtig, wenn sie selbst Code schreiben, Fehler machen und Lösungen finden, statt sie nur theoretisch zu erklären zu bekommen.

KMK BildungsstandardsKMK: Sekundarstufe II - Modellieren und ImplementierenKMK: Sekundarstufe II - Problemlösen und Handeln
30–50 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Problemorientiertes Lernen45 Min. · Partnerarbeit

Pair Programming: Interface-Implementierung

Paare definieren eine Schnittstelle für Formen (z. B. Fläche berechnen). Jede Person implementiert eine Klasse (Kreis, Rechteck). Gemeinsam testen sie polymorph in einer Hauptmethode. Diskutieren Sie Erweiterbarkeit.

Erklären Sie, wie Polymorphie die Flexibilität und Erweiterbarkeit von Code erhöht.

ModerationstippWährend der Pair-Programming-Phase gezielt die Kontrolle übernehmen, wenn Partner die Unterschiede zwischen Schnittstellen und abstrakten Klassen nicht direkt erkennen können, und gezielt Fragen stellen, die zum Nachdenken anregen.

Worauf zu achten istDie Schüler erhalten ein Code-Snippet mit einer abstrakten Klasse und mehreren abgeleiteten Klassen. Sie sollen eine Methode überschreiben und erklären, wie Polymorphie hier angewendet wird, um eine Liste von Objekten der abgeleiteten Klassen zu verarbeiten.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 02

Problemorientiertes Lernen50 Min. · Kleingruppen

Small Groups: Polymorphie-Refactoring

Gruppen erhalten ein starres Programm mit dupliziertem Code. Sie refactoren es mit einer abstrakten Superklasse und Polymorphie. Testen Sie mit neuen Unterklassen und protokollieren Verbesserungen.

Differentiieren Sie zwischen abstrakten Klassen und Schnittstellen in der Objektorientierung.

ModerationstippBei der Polymorphie-Refactoring-Aufgabe explizit darauf achten, dass die Gruppen nicht nur Code umschreiben, sondern auch die Gemeinsamkeiten und Unterschiede der Methodenaufrufe dokumentieren.

Worauf zu achten istStellen Sie die Frage: 'Wann würden Sie eine abstrakte Klasse und wann eine Schnittstelle verwenden?' Lassen Sie die Schüler in Kleingruppen diskutieren und ihre Argumente anhand von Beispielen wie einem 'Tier'-Modell oder einem 'Formen'-Zeichenprogramm begründen.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 03

Problemorientiertes Lernen40 Min. · Ganze Klasse

Whole Class: Szenario-Ausbau

Klasse erweitert gemeinsam ein Grafik-Editor-Beispiel. Lehrer demonstriert Schnittstelle, Schüler schlagen Erweiterungen vor und implementieren in Echtzeit. Abschließende Diskussion zu Wartbarkeit.

Konstruieren Sie ein Szenario, in dem Polymorphie die Wartbarkeit des Codes verbessert.

ModerationstippBeim Szenario-Ausbau als Lehrkraft bewusst Fehler einbauen, die die Lernenden in der Diskussion entdecken und korrigieren müssen, um das Konzept der losen Kopplung zu verdeutlichen.

Worauf zu achten istZeigen Sie eine einfache Klassenhierarchie (z. B. Fahrzeug -> Auto, Fahrrad) und eine Liste von Methoden. Die Schüler sollen identifizieren, welche Methoden polymorph aufgerufen werden können und welche Schnittstelle oder abstrakte Klasse dafür notwendig wäre.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 04

Problemorientiertes Lernen30 Min. · Einzelarbeit

Individual: Erweiterungs-Challenge

Jeder Schüler erweitert ein vorgegebenes polymorphes System um eine neue Klasse mit Schnittstelle. Peer-Review folgt, um Flexibilität zu bewerten.

Erklären Sie, wie Polymorphie die Flexibilität und Erweiterbarkeit von Code erhöht.

Worauf zu achten istDie Schüler erhalten ein Code-Snippet mit einer abstrakten Klasse und mehreren abgeleiteten Klassen. Sie sollen eine Methode überschreiben und erklären, wie Polymorphie hier angewendet wird, um eine Liste von Objekten der abgeleiteten Klassen zu verarbeiten.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Vorlagen

Vorlagen, die zu diesen Informatik-Aktivitäten passen

Nutzen, bearbeiten, drucken oder teilen.

Einige Hinweise zum Unterrichten dieser Einheit

Erfahrene Lehrkräfte beginnen mit konkreten Beispielen, bevor abstrakte Konzepte eingeführt werden. Vermeiden Sie es, zu schnell in Theorie abzugleiten, und nutzen Sie Fehler als Lernchance. Der beste Ansatz ist, die Schülerinnen und Schüler selbst entdecken zu lassen, warum Polymorphie und Schnittstellen nützlich sind, statt es ihnen vorzuschreiben. Visualisierungen wie Klassendiagramme helfen, die Zusammenhänge sichtbar zu machen.

Erfolgreiches Lernen zeigt sich, wenn die Lernenden selbstständig polymorphe Methodenaufrufe erklären können und gezielt Schnittstellen oder abstrakte Klassen einsetzen, um flexible Code-Strukturen zu erstellen. Sie erkennen auch, wann welche Lösung besser passt und können ihre Entscheidungen begründen.


Vorsicht vor diesen Fehlvorstellungen

  • Während der Pair-Programming-Aktivität 'Interface-Implementierung' beobachten Sie...

    Erinnern Sie die Partner daran, dass Polymorphie durch Überschreibung und nicht durch Überladung entsteht. Lassen Sie sie testen, wie derselbe Methodenname in verschiedenen Klassen unterschiedliche Ergebnisse liefert, indem sie Objekte in einer Liste speichern und durchlaufen.

  • Während der Small-Groups-Aktivität 'Polymorphie-Refactoring' achten Sie auf...

    Fragen Sie die Gruppen gezielt, warum sie sich für eine Schnittstelle oder eine abstrakte Klasse entschieden haben. Fordern Sie sie auf, zu erklären, wie der Code ohne Polymorphie aussehen würde, um den Nutzen der losen Kopplung sichtbar zu machen.

  • Während der Individual-Aktivität 'Erweiterungs-Challenge' fällt auf...

    Weisen Sie darauf hin, dass abstrakte Klassen nicht instanziiert werden können, indem Sie den Compiler-Fehler direkt mit den Lernenden analysieren und gemeinsam korrigieren lassen.


In dieser Übersicht verwendete Methoden