MINT lernen

Übungen: Klassen und Objekte im Abitur

Diagramme lesen, Referenzen verfolgen, Modelle beurteilen — zehn Aufgaben zu Klassen und Objekten.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Zehn Aufgaben vom Lesen eines Klassendiagramms (AFB I) bis zum Beurteilen einer Modellierung (AFB III). Jede Übung meldet sofort zurück; die Tipps helfen stufenweise.

A1
Was das Diagramm verrät
AFB I

Im Klassendiagramm steht + bucheSitz(nr: Ganzzahl): Wahrheitswert. Gib alle zutreffenden Aussagen an.

Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Prüfen“.
Konstruktoren tragen ein vorangestelltes c. Das + bedeutet öffentlich, der Typ hinter der schließenden Klammer ist der Rückgabetyp.
Frage: Was bedeutet das Zeichen vor dem Namen?Warum? + und − regeln die Sichtbarkeit.
Hilfe: Hinter den Klammern steht, was zurückkommt, in den Klammern, was hineingeht.
A2
Stimmt's? — Klassen und Objekte
AFB I

Fünf Aussagen zu Klassen, Objekten und Referenzen. Ordne jede als richtig oder falsch ein.

5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann startest du die Serie mit „Neue Runde“ neu.
Aussage 1 von 5

Merke: Sichtbarkeit regelt den Zugriff im Code, nicht das, was eine Objektkarte zeigt.
Frage: Wie viele Hefte kann man nach einem Heftmuster drucken?Warum? Eine Klasse ist nur die Vorlage.
Hilfe: Objektkarten dokumentieren Zustände, keine Zugriffsrechte.
A3
Kapselung
AFB I

Beschreibe das Prinzip der Datenkapselung, indem du die Lücken füllst — ein Wort bleibt übrig.

Wort anklicken, dann Lücke anklicken (oder umgekehrt) — mit Tab und Enter geht es genauso. Ein Klick auf eine gefüllte Lücke legt das Wort zurück.

Attribute werden deklariert. Von außen greift man nur über öffentliche zu. So bleibt der des Objekts gültig. Eine Operation wie getName() liest nur, eine wie setName() ändert einen Wert.

In einer set-Operation kann man ungültige Werte abfangen — genau das ist der Nutzen der Kapselung.
Frage: Warum schreibt man nicht direkt kunde.name = …?Warum? Dann könnte jeder beliebige Werte eintragen.
Hilfe: get liest, set schreibt — beides sind öffentliche Operationen.
A4
Wohin gehört die Zeile?
AFB I

Ordne die Zeilen der Klasse Zug dem passenden Bereich des Klassendiagramms zu.

Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1Attribut
2Konstruktor
3Operation
Eine Klasse darf mehrere Konstruktoren mit unterschiedlichen Parametern haben.
Frage: Welche Zeilen haben runde Klammern?Warum? Attribute haben keine Parameterliste.
Hilfe: Das c markiert Konstruktoren.
A5
Wie viele Objekte?
AFB I

Gegeben: a ← erzeuge Punkt(1, 2), b ← a, c ← erzeuge Punkt(1, 2), d ← c, e ← erzeuge Punkt(0, 0). Nenne die Anzahl der erzeugten Punkt-Objekte.

Überlege selbst und trage das Ergebnis ein — Enter prüft direkt.
Nur „erzeuge“ legt ein Objekt an. b und d sind weitere Verweise auf schon vorhandene Objekte.
Frage: Welche Zeilen rufen einen Konstruktor auf?Warum? Eine Zuweisung b ← a kopiert nur den Verweis.
Hilfe: Zähle die „erzeuge“.
A6
Vom Text zum Diagramm
AFB II

Aus einem Aufgabentext soll ein Klassendiagramm werden. Stelle das Vorgehen in einer sinnvollen Reihenfolge dar.

Ziehe die Karten in die richtige Reihenfolge — mit der Tastatur: ↑/↓ verschiebt, Shift+↑/↓ wechselt nur den Fokus.
1Substantive markieren: Kandidaten für Klassen und Attribute
2Klassen festlegen und benennen
3Attribute mit Datentyp und Sichtbarkeit eintragen
4Konstruktor und Operationen mit Signatur ergänzen
5Assoziationen zwischen den Klassen einzeichnen
Verben im Aufgabentext („bucht“, „storniert“) liefern die Operationen.
Frage: Womit fängt man bei einem Sachtext an?Warum? Klassen sind meist Substantive.
Hilfe: Erst die Kästen, dann ihr Inhalt, dann die Linien dazwischen.
A7
Referenzen verfolgen
AFB II

Gegeben: k ← erzeuge Konto(100), m ← k, m.einzahlen(50), k ← erzeuge Konto(20), k.einzahlen(5). Ermittle die Kontostände.

Arbeite die Kette Schritt für Schritt ab: Erst wenn ein Schritt stimmt, wird der nächste freigeschaltet. Enter prüft.
  1. Stand des Objekts, auf das m verweist: €
  2. Stand des Objekts, auf das k am Ende verweist: €
  3. Anzahl der Konto-Objekte insgesamt:
m und das erste k zeigen auf dasselbe Objekt: 100 + 50 = 150. Danach zeigt k auf ein neues Objekt, m bleibt beim alten.
Frage: Was passiert bei m ← k?Warum? Es entsteht kein neues Konto.
Hilfe: Nach k ← erzeuge … zeigt nur k auf das neue Konto.
A8
Diagramm und Java
AFB II

Erläutere die Übersetzung, indem du jede Diagrammzeile mit der passenden Java-Zeile verbindest.

Frage: Woran erkennt man in Java einen Konstruktor?Warum? Er heißt wie die Klasse.
Hilfe: − wird private, + wird public.
A9
Toms Objektkarte
AFB II

Zur Klasse Person mit - name: Zeichenkette, - alter: Ganzzahl, - freunde: dyn. Reihung vom Inhaltstyp Person hat Tom eine Objektkarte gezeichnet. Überprüfe sie.

In diesem Text stecken Fehler. Klicke genau die falschen Zeilen an — die richtigen musst du stehen lassen.
Objektkarten zeigen Attributbelegungen. Verweise auf andere Objekte stehen als deren Namen, z. B. p2.
Frage: Was gehört überhaupt in eine Objektkarte?Warum? Sie beschreibt einen Zustand.
Hilfe: Achte auf Datentypen und auf Zeilen, die keine Attribute sind.
A10
Gut modelliert?
AFB III

Beurteile jede Modellierungsentscheidung für ein Kino-Buchungssystem.

Wähle für jede Zeile eine Stufe: 1 = klar falsch, 2 = eher ungünstig, 3 = vertretbar, 4 = gut, 5 = sehr gut. Mit der Tastatur: Tab zur Zeile, ←/→ zwischen den Stufen, Enter setzt.
1 = klar falsch5 = sehr gut
Attribut + freiePlaetze: Ganzzahl öffentlich, damit alle Klassen es direkt ändern können
Klasse Vorstellung mit Verweis auf einen Film statt Filmtitel und Länge zu kopieren
Operation + buche(sitz: Ganzzahl): Wahrheitswert, die bei belegtem Sitz falsch liefert
Eigene Klasse Uhrzeit nur für die Anfangszeit
Alle Daten in einer einzigen Klasse Kino
Öffentliche, frei änderbare Zähler zerstören die Kapselung. Verweise statt Kopien vermeiden widersprüchliche Daten.
Frage: Welche Entscheidung verletzt ein Grundprinzip der OOP?Warum? Kapselung und Vermeidung von Redundanz sind die Maßstäbe.
Hilfe: Eine Klasse für alles wird schnell unübersichtlich — aber es funktioniert.