Skip to content
Informatik · Klasse 10

Ideen für aktives Lernen

Polymorphie: Vielfalt nutzen

Aktives Lernen funktioniert hier besonders gut, weil Schülerinnen und Schüler Polymorphie nicht durch Theorie verstehen, sondern durch das eigene Handhaben von Objekten und Methoden. Die direkte Arbeit mit Hierarchien und Schnittstellen macht den Unterschied zwischen statischer und dynamischer Bindung erfahrbar.

KMK BildungsstandardsKMK: STD.01KMK: STD.03
30–50 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Problemorientiertes Lernen30 Min. · Partnerarbeit

Pair Programming: Tier-Hierarchie erweitern

Paare starten mit einer Oberklasse Tier und Methoden wie 'bewegen()'. Sie erstellen Unterklassen Hund und Vogel, überschreiben 'bewegen()' und testen polymorph in einer Liste. Diskutieren Sie Laufzeitunterschiede.

Wie können wir Programme so schreiben, dass sie mit verschiedenen Objekttypen gleichzeitig umgehen können?

ModerationstippLegen Sie in der Pair Programming-Aufgabe klare Rollen fest: eine Person schreibt Code, die andere beobachtet und Fragen stellt, um das Verständnis zu vertiefen.

Worauf zu achten istGeben Sie den Schülern ein kleines Code-Snippet, das Polymorphie nutzt (z.B. eine Liste von 'Tier'-Objekten, die alle 'laut geben'). Fragen Sie: 'Welche Ausgabe erwarten Sie, wenn dieses Programm ausgeführt wird, und warum?' und 'Nennen Sie eine andere Klasse, die Sie hinzufügen könnten, ohne die Hauptlogik zu ändern.'

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 02

Problemorientiertes Lernen45 Min. · Kleingruppen

Small Groups: Interface-basierte Formen

Gruppen definieren ein Interface Zeichnen mit Methode 'zeichne()'. Implementieren Sie Kreis, Rechteck und Dreieck. Sammeln Sie Objekte in einer Liste und rufen 'zeichne()' polymorph auf, um Grafiken zu erzeugen.

Warum ist Polymorphie ein Schlüsselkonzept für flexible und erweiterbare Software?

ModerationstippBei der Interface-basierten Formen-Aufgabe stellen Sie sicher, dass jede Gruppe mindestens ein Beispiel ohne Vererbung entwickelt, um die Flexibilität von Interfaces zu verdeutlichen.

Worauf zu achten istStellen Sie den Schülern die Frage: 'Erklären Sie in eigenen Worten, warum die dynamische Bindung wichtig ist, damit Polymorphie funktioniert. Geben Sie ein Beispiel, wo dies nützlich wäre.' Bewerten Sie die Antworten auf Klarheit und Korrektheit des Verständnisses der Laufzeitentscheidung.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 03

Problemorientiertes Lernen50 Min. · Ganze Klasse

Whole Class: Fahrzeug-Simulation debuggen

Die Klasse analysiert einen fehlerhaften polymorphen Code mit Auto und Flugzeug. Gemeinsam korrigieren, erweitern um Boot und simulieren eine Flotte in einer Schleife. Teilen Sie Erkenntnisse.

Analysieren Sie, wie dynamische Bindung die Laufzeitentscheidung über Methodenaufrufe ermöglicht.

ModerationstippSprechen Sie während der Fahrzeug-Simulation gezielt über Debugging-Schritte, um zu zeigen, wie dynamische Bindung im Code wirkt.

Worauf zu achten istLeiten Sie eine Diskussion mit der Frage: 'Stellen Sie sich vor, Sie entwickeln eine Software für ein Museum, die verschiedene Kunstwerke (Gemälde, Skulpturen) katalogisieren soll. Wie könnte Polymorphie Ihnen helfen, diese unterschiedlichen Objekte einheitlich zu verwalten, auch wenn neue Kunstformen hinzukommen?'

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 04

Problemorientiertes Lernen40 Min. · Einzelarbeit

Individual: Eigenes polymorphisches System

Jede Schülerin und jeder Schüler entwirft eine Hierarchie, z. B. Musiker mit 'spiele()', und integriert sie in eine Band-Simulation. Testen und präsentieren Sie Erweiterbarkeit.

Wie können wir Programme so schreiben, dass sie mit verschiedenen Objekttypen gleichzeitig umgehen können?

Worauf zu achten istGeben Sie den Schülern ein kleines Code-Snippet, das Polymorphie nutzt (z.B. eine Liste von 'Tier'-Objekten, die alle 'laut geben'). Fragen Sie: 'Welche Ausgabe erwarten Sie, wenn dieses Programm ausgeführt wird, und warum?' und 'Nennen Sie eine andere Klasse, die Sie hinzufügen könnten, ohne die Hauptlogik zu ändern.'

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 sie abstrakte Konzepte einführen. Vermeiden Sie es, Polymorphie nur als theoretisches Prinzip zu behandeln – stattdessen arbeiten die Schülerinnen und Schüler mit echten Objekten und Methoden. Nutzen Sie Fehler als Lernchance, indem Sie gemeinsam Code analysieren und korrigieren.

Erfolgreiches Lernen zeigt sich darin, dass die Lernenden Polymorphie nicht nur beschreiben, sondern aktiv anwenden können. Sie erkennen, wann Vererbung oder Interfaces sinnvoll sind, und erklären den Mechanismus der dynamischen Bindung mit eigenen Worten.


Vorsicht vor diesen Fehlvorstellungen

  • Während der Pair Programming-Aufgabe (Tier-Hierarchie erweitern) könnte der Eindruck entstehen, dass alle Objekte identisch sind.

    Fordern Sie die Paare auf, die Implementierungen der Methoden in den Unterklassen zu vergleichen und zu beschreiben, wie jedes Tier spezifisch 'laut gibt'. Peer-Reviews helfen, die Unterschiede sichtbar zu machen.

  • Während der Interface-basierten Formen-Aufgabe könnte angenommen werden, dass die Bindung immer zur Kompilierzeit erfolgt.

    Bitten Sie die Gruppen, ihre Implementierungen mit Debugging-Tools zu testen und die Ausgaben zu vergleichen, um zu zeigen, wie die Methode zur Laufzeit gewählt wird.

  • Während der Fahrzeug-Simulation könnte der Glaube entstehen, dass Polymorphie immer Vererbung benötigt.

    Lassen Sie die Klasse während der Simulation Interfaces verwenden, um zu demonstrieren, dass auch ohne Vererbung polymorpher Code möglich ist. Diskutieren Sie, warum Interfaces oft flexibler sind.


In dieser Übersicht verwendete Methoden