Skip to content

Vererbung und PolymorphieAktivitäten & Unterrichtsstrategien

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.

Klasse 11Informatik in der Oberstufe: Algorithmen, Daten und Gesellschaft4 Aktivitäten20 Min.45 Min.

Lernziele

  1. 1Klassifizieren Sie verschiedene Arten von Vererbung (einfach, mehrfach) und erklären Sie deren Anwendungsfälle in der Softwareentwicklung.
  2. 2Analysieren Sie bestehende Klassenhierarchien auf potenzielle Probleme wie Kopplung und Wartbarkeit und schlagen Sie Verbesserungen vor.
  3. 3Entwerfen Sie eine einfache Klassenhierarchie für ein gegebenes Problem, die Vererbung und Polymorphie effektiv nutzt.
  4. 4Demonstrieren Sie die Funktionsweise von Polymorphie anhand eines konkreten Codebeispiels, das die Behandlung von Objekten unterschiedlicher Klassen über eine gemeinsame Schnittstelle zeigt.
  5. 5Bewerten Sie die Vor- und Nachteile der Verwendung von Vererbung im Vergleich zu Komposition für die Code-Wiederverwendung.

Möchten Sie einen vollständigen Unterrichtsentwurf mit diesen Lernzielen? Mission erstellen

30 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.

Vorbereitung & Details

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

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

Setup: Gruppentische mit Platz für die Fallunterlagen

Materials: Fallstudien-Paket (3-5 Seiten), Arbeitsblatt mit Analyseraster, Präsentationsvorlage

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
45 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.

Vorbereitung & Details

Welche Risiken entstehen durch zu tiefe Vererbungshierarchien?

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

Setup: Gruppentische mit Platz für die Fallunterlagen

Materials: Fallstudien-Paket (3-5 Seiten), Arbeitsblatt mit Analyseraster, Präsentationsvorlage

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
20 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.

Vorbereitung & Details

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

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

Setup: Gruppentische mit Platz für die Fallunterlagen

Materials: Fallstudien-Paket (3-5 Seiten), Arbeitsblatt mit Analyseraster, Präsentationsvorlage

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
25 Min.·Einzelarbeit

Individual: Code refactoren

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

Vorbereitung & Details

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

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

Setup: Gruppentische mit Platz für die Fallunterlagen

Materials: Fallstudien-Paket (3-5 Seiten), Arbeitsblatt mit Analyseraster, Präsentationsvorlage

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung

Dieses Thema unterrichten

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.

Was Sie erwartet

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.

Diese Aktivitäten sind ein Ausgangspunkt. Die vollständige Mission ist das Erlebnis.

  • Vollständiges Moderationsskript mit Lehrkraft-Dialogen
  • Druckfertige Schülermaterialien, bereit für den Unterricht
  • Differenzierungsstrategien für jeden Lerntyp
Mission erstellen

Vorsicht vor diesen Fehlvorstellungen

Häufige FehlvorstellungWä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.

Was Sie stattdessen lehren sollten

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.

Häufige FehlvorstellungWä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.

Was Sie stattdessen lehren sollten

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.

Häufige FehlvorstellungWä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.

Was Sie stattdessen lehren sollten

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.

Ideen zur Lernstandserhebung

Lernstandskontrolle

Nach der Pair Programming Aufgabe sollen die Schüler die entstandene Tierhierarchie skizzieren und mindestens zwei Methoden benennen, die überschrieben wurden. Sie erklären kurz, warum diese Überschreibungen notwendig sind.

Kurze Überprüfung

Während der Small Groups präsentieren Sie ein Code-Snippet mit einer Liste von Formen, die die Methode 'ausgeben()' aufrufen. Die Schüler erklären in Einzelarbeit, welche Methode tatsächlich aufgerufen wird und warum dies ein Beispiel für Polymorphie ist.

Diskussionsfrage

Nach der Whole-Class-Debatte zu Hierarchie-Risiken sammeln Sie die Ergebnisse der Kleingruppen und bewerten gemeinsam, welche Argumente für und gegen tiefe Hierarchien sprechen. Achten Sie darauf, ob die Schüler konkrete Beispiele aus der Debatte nennen können.

Erweiterungen & Unterstützung

  • Fordern Sie frühfertige Paare auf, ihre Tierhierarchie um eine weitere Ebene zu erweitern und zu erklären, warum diese sinnvoll oder unnötig ist.
  • Unterstützen Sie unsichere Schüler, indem Sie ihnen eine vorgegebene Hierarchie zur Verfügung stellen, die sie zunächst nur analysieren und dann gezielt Methoden überschreiben lassen.
  • Vertiefen Sie das Thema, indem die Schüler eine eigene Mini-Bibliothek mit mindestens drei Klassen und zwei Polymorphie-Beispielen entwickeln und dokumentieren.

Schlüsselvokabular

Basisklasse (Superklasse)Eine Klasse, von der andere Klassen Eigenschaften und Methoden erben können. Sie definiert allgemeine Merkmale.
Abgeleitete Klasse (Subklasse)Eine Klasse, die Eigenschaften und Methoden von einer Basisklasse erbt. Sie kann diese erweitern oder überschreiben.
Überschreiben (Overriding)Wenn eine abgeleitete Klasse eine Methode der Basisklasse mit einer spezifischen Implementierung für sich selbst neu definiert.
Polymorphie (Vielgestaltigkeit)Die Fähigkeit, Objekte unterschiedlicher Klassen, die von einer gemeinsamen Basisklasse abgeleitet sind, über eine gemeinsame Schnittstelle anzusprechen.
Is-a-BeziehungEine Beziehung, die durch Vererbung modelliert wird, bei der eine Subklasse eine spezialisierte Form der Superklasse ist (z.B. 'Ein Hund ist ein Säugetier').

Bereit, Vererbung und Polymorphie zu unterrichten?

Erstellen Sie eine vollständige Mission mit allem, was Sie brauchen

Mission erstellen