MINT üben

Attribute und Konstruktoren

Dreißig Übungen zu Attributen und Konstruktoren — von Standardwerten über this bis zum Überladen.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Dreißig Übungen in gemischter Reihenfolge — du klickst, ziehst, ordnest, rechnest und knobelst. Jede Übung gibt dir sofort eine Rückmeldung, und zu jeder Aufgabe gibt es zwei gestufte Tipps: Der erste zeigt die Richtung, der zweite den entscheidenden Schritt. Die Chips zeigen das Anforderungsniveau: AFB I heißt wiedergeben und direkt anwenden, AFB II selbst entscheiden und verknüpfen, AFB III begründen, beurteilen oder eine Falle durchschauen. Aufgaben mit dem Chip Mix verbinden Wissen aus früheren Unterkapiteln, bei Trick steckt eine Falle drin. Fährst du über ein unterstrichenes Arbeitswort, siehst du, was es genau von dir verlangt.

A1
Kilometerstand nach der Fahrt
AFB IIMix

Weise nach, dass f.fahren(30); den Kilometerstand auf 150 setzt: Ordne jeder Zeile der Herleitung die passende Begründung zu.

public class Fahrtenbuch {
    private int km;
    public Fahrtenbuch(int start) {
        this.km = start;
    }
    public void fahren(int strecke) {
        km = km + strecke;
    }
}
// Fahrtenbuch f = new Fahrtenbuch(120);
// f.fahren(30);
Ordne jeder Zeile der Herleitung die passende Begründung zu: Karte anklicken, dann das Feld neben der Zeile (oder Karte direkt auf das Feld ziehen). Mit der Tastatur: Tab zur Karte, Enter, dann Tab zum Feld und Enter. Ein Klick auf ein belegtes Feld legt die Karte zurück. Nicht alle Karten werden gebraucht.

Zu zeigen: Nach f.fahren(30) ist km gleich 150.

  1. Bei new erhält km zuerst den Wert 0
  2. Der Konstruktor setzt km auf 120
  3. fahren(30) rechnet km + 30
  4. 120 + 30 ergibt 150
Zuerst hat km den Standardwert, der Konstruktor überschreibt ihn mit 120. Die Methode addiert den Parameter und speichert das Ergebnis im selben Attribut.
Ansatz: Gehe die Zeilen in der Reihenfolge durch, in der sie ablaufen.
Weiter: Frage: Was steht im Attribut, bevor der Konstruktor läuft?
A2
Vom Diagramm zum Konstruktor: Zugverbindung
AFB II

Eine Bahn-App speichert Verbindungen. Stelle den Konstruktor so auf, dass er zur Klassenkarte passt und die Verspätung ausdrücklich bei 0 startet — zwei Bausteine bleiben übrig.

Zugverbindung
  • - start: Zeichenkette
  • - ziel: Zeichenkette
  • - verspaetung: Ganzzahl
  • c Zugverbindung(start: Zeichenkette, ziel: Zeichenkette)
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.

public ( start, String ziel) {
    .start = start;
    this.ziel = ;
    verspaetung = ;
}

Aus c Zugverbindung(start: Zeichenkette, …) wird public Zugverbindung(String start, …): Name wie die Klasse, kein void, Typ vor den Namen. null passt nicht in ein int-Attribut. verspaetung = 0; ist streng genommen überflüssig (0 ist ohnehin der Standardwert), macht die Absicht aber sichtbar.
Ansatz: Übersetze die Zeile mit dem c Stück für Stück: Name, dann jeder Parameter als „Typ Name“.
Weiter: Rechts vom Gleichheitszeichen steht jeweils der Parameter, links das Attribut — bei gleichem Namen mit this. davor.
A3
Gültige Attributzeilen
AFB I

Lies an den Feldern ab, welche Zeilen in einer Klasse Spielfigur gültige Attribute deklarieren, und markiere genau diese.

Klicke die passenden Felder an — ein zweiter Klick nimmt die Markierung zurück. Mit der Tastatur: Tab ins Raster, Pfeiltasten wandern, Enter markiert. Vollständige Reihen aus richtigen Feldern ergeben ein Bingo.

Markiere alle gültigen Attributzeilen.

Gültig sind Zeilen mit Zugriff, Typ und Name in dieser Reihenfolge. Falsch sind: Typ und Name vertauscht, ein Name mit einer Ziffer am Anfang, string statt String, ein Text in einem int und eine Zahl in einem boolean.
Ansatz: Prüfe die Reihenfolge: Zugriff, Typ, Name.
Weiter: Passt der Wert hinter dem Gleichheitszeichen zum Typ?