Skip to content
Objektorientierte Modellierung · 1. Halbjahr

Klassen und Objekte

Unterscheidung zwischen dem Bauplan (Klasse) und der konkreten Ausprägung (Instanz).

Brauchen Sie einen Unterrichtsplan für Informatik in der Oberstufe: Algorithmen, Daten und Gesellschaft?

Mission erstellen

Leitfragen

  1. Wie entscheiden wir, welche Eigenschaften eines Objekts für unser Modell relevant sind?
  2. Inwiefern spiegelt die Objektorientierung unsere menschliche Wahrnehmung der Welt wider?
  3. Erklären Sie, was im Speicher des Computers passiert, wenn ein neues Objekt erzeugt wird.

KMK Bildungsstandards

KMK: Sekundarstufe II - ModellierenKMK: Sekundarstufe II - Darstellen und Interpretieren
Klasse: Klasse 11
Fach: Informatik in der Oberstufe: Algorithmen, Daten und Gesellschaft
Einheit: Objektorientierte Modellierung
Zeitraum: 1. Halbjahr

Über dieses Thema

Klassen und Objekte bilden die Grundlage der objektorientierten Programmierung. Eine Klasse dient als Bauplan, der Eigenschaften und Verhalten für Objekte definiert, während Objekte konkrete Instanzen darstellen. Schüler in der 11. Klasse lernen, relevante Merkmale für Modelle auszuwählen, etwa bei der Modellierung eines Fahrzeugs mit Attributen wie Farbe und Geschwindigkeit. Dies spiegelt die menschliche Wahrnehmung wider, da wir die Welt durch Kategorien und Beispiele strukturieren.

Im Speicher entsteht bei der Erzeugung eines Objekts mit 'new' ein neuer Speicherbereich: Attribute werden allokiert und initialisiert, Methoden verweisen auf den Klassen-Code. Diese Prozesse verbinden Modellieren mit Darstellen und Interpretieren nach KMK-Standards. Schüler analysieren, warum Klassen wiederverwendbar sind und Objekte unabhängig existieren.

Aktives Lernen eignet sich hervorragend, da abstrakte Konzepte durch praktische Umsetzungen greifbar werden. Wenn Schüler Klassen coden und Instanzen erzeugen, beobachten sie direkt den Unterschied und festigen Verständnis durch Trial-and-Error.

Lernziele

  • Klassen als Blaupausen für Objekte identifizieren und deren Struktur (Attribute, Methoden) beschreiben.
  • Konkrete Objekte (Instanzen) aus gegebenen Klassen erstellen und deren individuellen Zustand (Attribute) festlegen.
  • Den Unterschied zwischen einer Klasse und einer Instanz anhand von Codebeispielen und Speicherabbildungen erklären.
  • Die Relevanz der Auswahl spezifischer Attribute für die Modellierung eines Problems analysieren.
  • Die Entstehung eines Objekts im Computerspeicher, einschließlich der Speicherallokation für Attribute, erläutern.

Bevor es losgeht

Grundlagen der Programmierung (Variablen, Datentypen)

Warum: Schüler müssen verstehen, wie Daten gespeichert und benannt werden, um Klassenattribute zu definieren und zu nutzen.

Kontrollstrukturen (if-Anweisungen, Schleifen)

Warum: Methoden innerhalb von Klassen verwenden oft Kontrollstrukturen, um Verhalten zu implementieren.

Schlüsselvokabular

KlasseEin Bauplan oder eine Vorlage, die die gemeinsamen Eigenschaften (Attribute) und Verhaltensweisen (Methoden) für eine Gruppe von Objekten definiert.
Objekt (Instanz)Eine konkrete Ausprägung einer Klasse. Jedes Objekt hat seinen eigenen Zustand, der durch die Werte seiner Attribute bestimmt wird.
AttributEine Eigenschaft oder ein Merkmal, das den Zustand eines Objekts beschreibt. In der Programmierung oft als Variable innerhalb einer Klasse implementiert.
MethodeEine Funktion oder ein Verhalten, das von Objekten einer Klasse ausgeführt werden kann. Sie operiert oft auf den Attributen des Objekts.
InstanziierungDer Prozess der Erzeugung eines konkreten Objekts aus einer Klasse. Dies geschieht typischerweise mit dem Schlüsselwort 'new'.

Ideen für aktives Lernen

Alle Aktivitäten ansehen

Bezüge zur Lebenswelt

Softwareentwickler im Automobilsektor modellieren Fahrzeuge als Klassen. Jedes einzelne Auto auf der Straße ist dann eine Instanz dieser Klasse, mit spezifischen Attributen wie Kennzeichen, Farbe und Kilometerstand.

Spieleentwickler nutzen Klassen, um Spielfiguren zu definieren. Ein Charakter wie Mario ist eine Instanz der Klasse 'Spieler', mit individuellen Werten für Leben, Position und gesammelte Münzen.

Vorsicht vor diesen Fehlvorstellungen

Häufige FehlvorstellungEine Klasse ist selbst ein Objekt.

Was Sie stattdessen lehren sollten

Klassen sind Blaupausen, keine Instanzen. Aktive Codierübungen zeigen, dass 'new Klasse()' ein Objekt erzeugt, während die Klasse statisch bleibt. Peer-Reviews helfen, diesen Unterschied zu verinnerlichen.

Häufige FehlvorstellungAlle Objekte einer Klasse sind identisch.

Was Sie stattdessen lehren sollten

Jedes Objekt hat eigene Attribute. Praktische Simulationen mit mehreren Instanzen verdeutlichen Unabhängigkeit, Diskussionen klären, warum Änderungen an einem Objekt andere nicht beeinflussen.

Häufige FehlvorstellungDeklaration einer Klasse erzeugt sofort Objekte.

Was Sie stattdessen lehren sollten

Deklaration erstellt nur den Bauplan. Hands-on-Debugger-Sitzungen demonstrieren, dass Instanziierung separat erfolgt, was Speicherprozesse nachvollziehbar macht.

Ideen zur Lernstandserhebung

Lernstandskontrolle

Geben Sie den Schülern eine einfache Klassendefinition (z.B. 'Hund' mit Attributen 'Name' und 'Rasse'). Bitten Sie sie, zwei Instanzen dieser Klasse zu erstellen und für jede Instanz die Attribute mit konkreten Werten zu füllen.

Kurze Überprüfung

Zeigen Sie ein Code-Snippet, das ein Objekt erstellt. Fragen Sie: 'Welche Klasse wurde hier instanziiert?' und 'Nennen Sie zwei Attribute, die dieses Objekt haben könnte, basierend auf der Klasse.'

Diskussionsfrage

Diskutieren Sie die Modellierung eines 'Buches'. Welche Attribute sind für eine Bibliothek relevant (Titel, Autor, ISBN)? Welche für einen Leser (aktuelles Kapitel, Lesefortschritt)? Wie beeinflusst die Wahl der Attribute die Nützlichkeit des Modells?

Bereit, dieses Thema zu unterrichten?

Erstellen Sie in Sekundenschnelle eine vollständige, unterrichtsfertige Mission für aktives Lernen.

Eigene Mission generieren

Häufig gestellte Fragen

Was ist der Unterschied zwischen Klasse und Objekt?
Eine Klasse ist der Bauplan mit Attributen und Methoden, ein Objekt die konkrete Instanz davon. Beim Erzeugen wird Speicher reserviert. Dies ermöglicht Wiederverwendbarkeit und Modellierung realer Entitäten, wie KMK-Standards fordern. Schüler üben, indem sie Klassen coden und Instanzen testen.
Wie kann aktives Lernen Schülern beim Verständnis von Klassen und Objekten helfen?
Aktives Lernen macht Abstraktes konkret: Schüler coden Klassen, erzeugen Objekte und beobachten Speicher im Debugger. Gruppenmodellierungen mit realen Beispielen fördern Diskussionen über relevante Eigenschaften. Solche Übungen bauen Systemsicht auf und reduzieren Fehlvorstellungen durch direkte Erfahrung, passend zu Modellierstandards.
Wie wähle ich relevante Eigenschaften für eine Klasse aus?
Fokussieren Sie auf Merkmale, die für das Modell entscheidend sind, z.B. bei einem Auto: Geschwindigkeit statt Seriennummer. Key Questions leiten: Welche Aspekte beeinflussen Verhalten? Iterative Codierübungen in Pairs verfeinern Auswahl durch Testen und Feedback.
Was passiert im Speicher bei der Objekterzeugung?
Bei 'new' wird Speicher allokiert, Attribute initialisiert, Referenz zurückgegeben. Methoden teilen Klassen-Code. Visualisierungen mit Tools wie BlueJ verdeutlichen dies. Schüler interpretieren Debugger-Ausgaben, um Prozesse zu verstehen und Modelle zu optimieren.