Skip to content
Informatik · Klasse 11

Ideen für aktives Lernen

Vererbung und Polymorphie

Aktive Lernformen sind für Vererbung und Polymorphie besonders wirksam, weil Schüler hier die abstrakten Konzepte durch konkretes Handeln verstehen. Durch das Modellieren eigener Klassenhierarchien und das praktische Ausprobieren von Überschreibungen erleben sie sofort, wie sich Code-Strukturen verändern und verfeinern lassen.

KMK BildungsstandardsKMK: Sekundarstufe II - ImplementierenKMK: Sekundarstufe II - Modellieren
20–45 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Fallstudienanalyse30 Min. · Partnerarbeit

Pair Programming: Tierhierarchie aufbauen

Paare erstellen eine Superklasse 'Tier' mit Methoden wie 'bewegen()' und 'machenGeräusch()'. Sie erweitern sie um Subklassen 'Hund' und 'Katze', die Methoden überschreiben. Testen Sie polymorph mit einer Liste von Tieren.

Wie können wir allgemeine Verhaltensweisen definieren, die für viele Spezialfälle gelten?

ModerationstippStellen Sie während der Pair Programming sicher, dass beide Partner abwechselnd codieren und erklären, um ein gemeinsames Verständnis zu fördern.

Worauf zu achten istDie Schüler erhalten die Aufgabe, ein einfaches Szenario (z.B. verschiedene Tierarten) zu beschreiben und eine Klassenhierarchie mit mindestens zwei Ebenen zu skizzieren. Sie sollen angeben, welche Klasse die Basisklasse ist und welche Methoden überschrieben werden könnten.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Aktivität 02

Fallstudienanalyse45 Min. · Kleingruppen

Small Groups: Formen-Polymorphie simulieren

Gruppen definieren eine 'Form'-Superklasse mit 'flaecheBerechnen()'. Subklassen 'Kreis' und 'Rechteck' implementieren spezifische Berechnungen. Sammeln Sie Formen in einer Liste und rufen polymorph auf.

Welche Risiken entstehen durch zu tiefe Vererbungshierarchien?

ModerationstippGeben Sie den Small Groups klare Beispiele für Formen vor, die sie modellieren sollen, um die Diskussion auf die Polymorphie zu konzentrieren.

Worauf zu achten istDer Lehrer präsentiert ein kurzes Code-Snippet, das Polymorphie demonstriert (z.B. eine Liste von 'Tier'-Objekten, die 'lautgeben()' aufrufen). Die Schüler sollen erklären, was auf der Konsole ausgegeben wird und warum. Fragen: Welche Methoden werden tatsächlich aufgerufen? Warum ist das Polymorphie?

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Aktivität 03

Fallstudienanalyse20 Min. · Ganze Klasse

Whole Class: Hierarchie-Risiken debattieren

Präsentieren Sie eine tiefe Hierarchie. Die Klasse diskutiert in Plenum Vor- und Nachteile, identifiziert Fragilitäten und schlägt Alternativen wie Komposition vor.

Wie ermöglicht Polymorphie die Erweiterbarkeit von Software ohne Änderung des bestehenden Codes?

ModerationstippLenken Sie die Whole-Class-Debatte zu Hierarchie-Risiken, indem Sie gezielt Fragen zu Wartbarkeit und Erweiterbarkeit stellen.

Worauf zu achten istDiskutieren Sie in Kleingruppen: 'Welche Nachteile kann es haben, wenn eine Klassenhierarchie sehr tief ist (mehr als 3-4 Ebenen)?' Sammeln Sie die Ergebnisse und diskutieren Sie sie im Plenum, um Risiken wie hohe Kopplung und schwierige Wartung zu identifizieren.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Aktivität 04

Fallstudienanalyse25 Min. · Einzelarbeit

Individual: Code refactoren

Schüler erhalten flachen Code und bauen eine Vererbungshierarchie um. Sie testen Polymorphie und dokumentieren Verbesserungen.

Wie können wir allgemeine Verhaltensweisen definieren, die für viele Spezialfälle gelten?

ModerationstippFordern Sie beim individuellen Refactoring auf, zunächst eine zu tiefe Hierarchie zu identifizieren und dann eine flachere Alternative zu entwerfen.

Worauf zu achten istDie Schüler erhalten die Aufgabe, ein einfaches Szenario (z.B. verschiedene Tierarten) zu beschreiben und eine Klassenhierarchie mit mindestens zwei Ebenen zu skizzieren. Sie sollen angeben, welche Klasse die Basisklasse ist und welche Methoden überschrieben werden könnten.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Vorlagen

Vorlagen, die zu diesen Informatik-Aktivitäten passen

Nutzen, bearbeiten, drucken oder teilen.

Einige Hinweise zum Unterrichten dieser Einheit

Erfahrene Lehrer beginnen mit einfachen, visuell nachvollziehbaren Beispielen wie Tierklassen oder geometrischen Formen. Wichtig ist, von Anfang an auf klare Abgrenzungen zwischen Vererbung und Komposition hinzuweisen, um starre Hierarchien zu vermeiden. Die Schüler sollten regelmäßig Gelegenheit haben, Code zu analysieren und zu hinterfragen, warum bestimmte Strukturen gewählt wurden. Vermeiden Sie es, zu früh auf komplexe Design-Patterns einzugehen – der Fokus liegt auf dem grundlegenden Verständnis von Hierarchien und polymorphen Aufrufen.

Erfolg zeigt sich, wenn Schüler Klassenhierarchien nicht nur skizzieren, sondern gezielt Methoden überschreiben und deren Aufrufe in verschiedenen Kontexten erklären können. Sie sollten in der Lage sein, zwischen sinnvoller Vererbung und übermäßiger Hierarchietiefe zu unterscheiden und Polymorphie als flexibles Werkzeug einzusetzen.


Vorsicht vor diesen Fehlvorstellungen

  • Während der Pair Programming beobachten Sie, dass Schüler Vererbung einsetzen, obwohl eine Komposition sinnvoller wäre. Korrigieren Sie dies, indem Sie sie auffordern, die Beziehungen zwischen den Klassen zu skizzieren und Alternativen zu diskutieren.

    Nutzen Sie die Pair Programming Aufgabe, um gezielt zu fragen: 'Könnte ein Tier auch mehrere Eigenschaften gemeinsam haben, ohne dass diese in einer Hierarchie stehen?' und lassen Sie sie die Vor- und Nachteile abwägen.

  • Während der Small Groups beobachten Sie, dass Schüler annehmen, Polymorphie erfordere identische Methodenimplementierungen. Korrigieren Sie dies, indem Sie auf die Unterschiede in den Methodenaufrufen hinweisen.

    Fordern Sie die Gruppen auf, drei verschiedene implementations der Methode 'zeichnen()' für Kreis, Quadrat und Dreieck zu erstellen und zu zeigen, wie der polymorphe Aufruf funktioniert.

  • Während der Whole-Class-Debatte wird behauptet, tiefe Hierarchien seien immer wiederverwendbarer. Korrigieren Sie dies, indem Sie auf konkrete Code-Beispiele und deren Wartbarkeit eingehen.

    Lassen Sie die Schüler im Plenum eine tiefe Hierarchie (z.B. Tier -> Säugetier -> Raubtier -> Löwe) mit einer flachen Alternative vergleichen und diskutieren, welche Struktur bei neuen Anforderungen einfacher anzupassen ist.


In dieser Übersicht verwendete Methoden