Skip to content

Attribute und MethodenAktivitäten & Unterrichtsstrategien

Aktives Lernen funktioniert besonders gut bei Attributen und Methoden, weil Schülerinnen und Schüler durch greifbare Beispiele und konkrete Fehlererfahrungen die abstrakten Konzepte der Objektorientierung besser verinnerlichen. Die Selbstwirksamkeit steigt, wenn sie selbst Klassen entwerfen und Kapselung erlebbar machen, statt nur theoretische Definitionen zu hören.

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

Lernziele

  1. 1Vergleichen Sie die Verwendung von Klassenattributen mit Instanzattributen anhand von Codebeispielen.
  2. 2Analysieren Sie, wie die Zugriffsmodifikatoren `public` und `private` die Kapselung in einer gegebenen Klasse beeinflussen.
  3. 3Erklären Sie, warum Methoden oft auf Attribute desselben Objekts zugreifen, um dessen Zustand zu manipulieren.
  4. 4Entwerfen Sie eine einfache Klasse mit Attributen und Methoden, die die Prinzipien der Objektorientierung demonstriert.

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

Paararbeit: Attribut-Klassifikation

Paare erhalten reale Objekte wie Autos oder Bücher und listen Attribute auf. Sie klassifizieren diese als klassen- oder instanzspezifisch und begründen. Im zweiten Schritt definieren sie passende Methoden und notieren Zugriffe.

Vorbereitung & Details

Wie unterscheiden sich Klassenattribute von Instanzattributen in ihrer Verwendung?

Moderationstipp: Beobachten Sie während der Paararbeit gezielt, ob beide Partner die Attribute korrekt klassifizieren oder ob einer die Einordnung dominiert – geben Sie bei Bedarf Impulsfragen wie 'Warum könnte dieses Attribut auch instanzspezifisch sein?'

Setup: Standard-Klassenzimmer; die Lernenden wenden sich dem Sitznachbarn zu

Materials: Diskussionsimpuls (projiziert oder gedruckt), Optional: Notizblatt für die Partnerarbeit

VerstehenAnwendenAnalysierenSelbstwahrnehmungBeziehungsfähigkeit

Small Groups: Kapselungs-Modell

Gruppen modellieren eine Bankkonto-Klasse mit public-Methoden und private-Attributen. Sie implementieren in Pseudocode, testen Zugriffe und diskutieren Auswirkungen von Verletzungen der Kapselung.

Vorbereitung & Details

Analysieren Sie, wie die Sichtbarkeit von Attributen (public/private) die Kapselung beeinflusst.

Moderationstipp: Fordern Sie in der Kleingruppenarbeit ein konkretes Produkt ein, z.B. ein UML-Diagramm mit Sichtbarkeitsmarkierungen, das die Gruppe gemeinsam präsentiert und verteidigt

Setup: Standard-Klassenzimmer; die Lernenden wenden sich dem Sitznachbarn zu

Materials: Diskussionsimpuls (projiziert oder gedruckt), Optional: Notizblatt für die Partnerarbeit

VerstehenAnwendenAnalysierenSelbstwahrnehmungBeziehungsfähigkeit

Whole Class: Methoden-Zugriff-Analyse

Die Klasse analysiert vorgegebene Klassenbeispiele. Jeder Schüler markiert Zugriffe von Methoden auf Attribute, teilt in Plenum und vergleicht mit Partnern.

Vorbereitung & Details

Begründen Sie, warum Methoden oft auf die Attribute desselben Objekts zugreifen.

Moderationstipp: Lassen Sie bei der Methoden-Zugriffsanalyse bewusst fehlerhafte Code-Teile zeigen, um die Gruppe zur Fehlersuche zu aktivieren – nutzen Sie dabei die Tafel, um richtige und falsche Zugriffe farblich zu markieren

Setup: Standard-Klassenzimmer; die Lernenden wenden sich dem Sitznachbarn zu

Materials: Diskussionsimpuls (projiziert oder gedruckt), Optional: Notizblatt für die Partnerarbeit

VerstehenAnwendenAnalysierenSelbstwahrnehmungBeziehungsfähigkeit

Individual: Eigene Klasse entwerfen

Jeder Schüler entwirft eine Klasse für ein Alltagsobjekt, definiert Attribute mit Sichtbarkeit und Methoden. Peer-Review folgt in der nächsten Stunde.

Vorbereitung & Details

Wie unterscheiden sich Klassenattribute von Instanzattributen in ihrer Verwendung?

Moderationstipp: Geben Sie beim Entwurf der eigenen Klasse klare Grenzen vor, z.B. 'Mindestens ein Klassenattribut und zwei private Instanzattribute', um Überforderung zu vermeiden und gezielte Anwendung zu fördern

Setup: Standard-Klassenzimmer; die Lernenden wenden sich dem Sitznachbarn zu

Materials: Diskussionsimpuls (projiziert oder gedruckt), Optional: Notizblatt für die Partnerarbeit

VerstehenAnwendenAnalysierenSelbstwahrnehmungBeziehungsfähigkeit

Dieses Thema unterrichten

Erfahrene Lehrkräfte beginnen mit einfachen, alltagsnahen Beispielen wie einer 'Bankkonto'-Klasse, um Klassen- und Instanzattribute greifbar zu machen. Wichtig ist, die Sichtbarkeit von Anfang an als Schutzmechanismus zu betonen, nicht nur als Syntaxregel. Vermeiden Sie es, zu früh in Details wie Getter/Setter abzugleiten – stattdessen sollten Schülerinnen und Schüler zunächst die Grundidee der Kapselung durch Fehler selbst erfahren. Forschung zeigt, dass Lernende Konzepte wie Kapselung erst dann voll verstehen, wenn sie erleben, welche Probleme ohne sie entstehen.

Was Sie erwartet

Erfolgreiches Lernen zeigt sich, wenn Lernende die Unterschiede zwischen Klassen- und Instanzattributen sicher erklären, Sichtbarkeitsregeln gezielt anwenden und Methodenaufrufe mit Attributen korrekt verknüpfen können. Sie erkennen zudem, warum Kapselung Code wartbarer und sicherer macht.

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 Paararbeit 'Attribut-Klassifikation' achten Sie darauf, dass manche Lernende alle Attribute pauschal als instanzspezifisch einstufen. Unterbrechen Sie die Diskussion und fragen Sie konkret: 'Wenn wir die Anzahl aller Konten in einer Bank tracken wollen – wäre das ein Klassen- oder Instanzattribut? Warum?'

Was Sie stattdessen lehren sollten

Schlagen Sie den Lernenden vor, das Attribut 'anzahlKonten' in der Klasse 'Bank' zu definieren und es als Klassenattribut zu deklarieren. Lassen Sie sie testen, ob die Änderung 'anzahlKonten += 1' im Konstruktor der Klasse 'Konto' funktioniert – so wird der Unterschied erlebbar.

Häufige FehlvorstellungWährend der Kleingruppenarbeit 'Kapselungs-Modell' beobachten Sie, wie Lernende Klassenattribute und Instanzattribute vertauschen. Geben Sie ihnen eine konkrete Aufgabe: 'Definieren Sie in Ihrer 'Auto'-Klasse ein Klassenattribut 'anzahlAutos' und ein Instanzattribut 'kilometerstand'. Zeigen Sie, wie sich 'anzahlAutos' bei jedem neuen Auto erhöht.'

Was Sie stattdessen lehren sollten

Fordern Sie die Gruppe auf, den Code so zu ändern, dass 'anzahlAutos' nur über eine öffentliche Methode 'erhoeheAnzahlAutos()' verändert werden kann. Diskutieren Sie, warum direkte Zugriffe auf Klassenattribute gefährlich sein können, wenn sie z.B. von externen Klassen manipuliert werden.

Häufige FehlvorstellungWährend der Methoden-Zugriffsanalyse im Plenum hören Sie den Satz 'Methoden dürfen nur auf ihre eigenen Attribute zugreifen'. Unterbrechen Sie und fragen Sie: 'Könnte eine Methode wie 'autoBeschleunigen()' auch auf das Attribut 'geschwindigkeit' eines anderen Autos zugreifen?'

Was Sie stattdessen lehren sollten

Lassen Sie die Schülerinnen und Schüler in ihrem Code ein Szenario implementieren, in dem eine Methode 'ueberhole(Auto anderesAuto)' das Attribut 'geschwindigkeit' eines anderen Objekts liest – aber nur über dessen öffentliche Methode 'getGeschwindigkeit()'. So wird klar, dass Methoden auch auf andere Objekte zugreifen können, solange sie die Schnittstelle respektieren.

Ideen zur Lernstandserhebung

Lernstandskontrolle

Nach der Paararbeit 'Attribut-Klassifikation' geben Sie den Lernenden ein Code-Snippet mit einer Klasse, die sowohl Klassen- als auch Instanzattribute enthält. Sie notieren auf einem Zettel: 1. Welches Attribut ist ein Klassenattribut und warum? 2. Nennen Sie eine Methode und erklären Sie, auf welches Attribut sie zugreift. Sammeln und besprechen Sie die Ergebnisse im Plenum.

Kurze Überprüfung

Während der Kleingruppenarbeit 'Kapselungs-Modell' stellen Sie die Frage: 'Stellen Sie sich eine Klasse 'Schule' vor. Nennen Sie zwei Instanzattribute und ein Klassenattribut. Erklären Sie kurz ihren Unterschied.' Sammeln Sie die Antworten der Gruppen und besprechen Sie typische Missverständnisse direkt mit Beispielen an der Tafel.

Diskussionsfrage

Nach der Whole-Class-Aktivität 'Methoden-Zugriff-Analyse' leiten Sie eine Diskussion mit der Frage: 'Warum ist es sinnvoll, dass Attribute oft als private deklariert werden, während Methoden public sind? Welche Vorteile hat das für die Wartbarkeit und Sicherheit des Codes?' Nutzen Sie die besprochenen Beispiele, um die Antworten der Lernenden zu vertiefen.

Erweiterungen & Unterstützung

  • Fordern Sie schnelle Lernende auf, eine zweite Klasse mit Methoden zu entwerfen, die Attribute beider Klassen nutzen (z.B. eine 'Überweisungsklasse', die auf 'Bankkonto'-Attribute zugreift).
  • Bieten Sie Schülern, die unsicher sind, vorgegebene Attribut- und Methodennamen an, die sie nur noch korrekt zuordnen und mit Sichtbarkeiten versehen müssen.
  • Vertiefen Sie mit einer Diskussion: 'Wie würde sich der Code ändern, wenn alle Attribute public wären? Sammeln Sie Beispiele aus der Praxis, in denen Kapselung kritisch ist (z.B. Passwörter, Kontostände).'

Schlüsselvokabular

AttributEine Variable, die den Zustand eines Objekts beschreibt. Attribute können entweder klassenweit (statisch) oder instanzspezifisch sein.
MethodeEine Funktion, die das Verhalten eines Objekts definiert. Methoden operieren typischerweise auf den Attributen des Objekts.
Klassenattribut (statisch)Ein Attribut, das allen Instanzen einer Klasse gemeinsam ist. Es wird nur einmal für die Klasse selbst definiert.
InstanzattributEin Attribut, das für jede einzelne Instanz (jedes Objekt) einer Klasse separat existiert und eigene Werte haben kann.
KapselungDas Prinzip, Daten (Attribute) und die Methoden, die auf diese Daten zugreifen, in einer Einheit (Klasse) zu bündeln und den direkten Zugriff von außen zu beschränken.
Zugriffsmodifikator (public/private)Schlüsselwörter, die festlegen, von wo aus auf Attribute oder Methoden zugegriffen werden kann. `public` erlaubt Zugriff von überall, `private` nur innerhalb der Klasse.

Bereit, Attribute und Methoden zu unterrichten?

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

Mission erstellen