Java · Prüfungsvorbereitung

Die Tier-Klasse, Schritt für Schritt

Dein Code aus Eclipse, in kleine Stücke zerlegt. Du klickst, probierst aus und siehst sofort, was im Objekt passiert. Du brauchst kein Vorwissen.

Überblick

Dein Code, Zeile für Zeile

Das ist dein Code aus dem Screenshot. Klick links auf eine Zeile, rechts steht die Erklärung dazu.

Tipp: Die Pfeiltasten und die Tab-Taste funktionieren auch, jede Zeile ist ein Knopf.

Schritt 1

Klasse und Objekt

Eine Klasse ist ein Bauplan. Sie beschreibt, welche Eigenschaften ein Tier hat und was es kann. Ein Objekt ist ein echtes Tier, das nach diesem Plan gebaut wurde. Aus einem Bauplan kannst du beliebig viele Objekte bauen, jedes hat seine eigenen Werte.

Klasse
Bauplan „Tier“
Es gibt einen Namen und ein Gewicht.

Objekte
Leo, 190 kg
Dumbo, 4500 kg

Probier es aus. Trag Werte ein und baue ein Objekt. Lass beide Felder leer, dann siehst du, was Java als Startwert nimmt.

Experiment: Objekte erzeugen

    

new Tier() baut das Objekt. Tier t1 ist der Name, unter dem du es ansprichst. Ohne Werte ist der Name null (nichts) und das Gewicht 0.0.

Schritt 2

Attribute: die Eigenschaften

public class Tier {
    //Attribute
    private String name;
    private float gewicht;
}

Jede Zeile hat drei Teile: Sichtbarkeit, Datentyp und Name.

TeilBeispielBedeutung
SichtbarkeitprivateNur Code innerhalb der Klasse Tier darf direkt darauf zugreifen.
DatentypStringText, zum Beispiel "Leo". Immer in Anführungszeichen.
DatentypfloatKommazahl, zum Beispiel 190.5f. Das f am Ende gehört zu float-Zahlen mit Komma.
NamegewichtWie du das Attribut im Code nennst. Klein geschrieben.

Prüfungsfalle: String schreibt man groß, float klein. String ist eine Klasse, float ist ein einfacher Datentyp.

Schritt 3

Die Methode friss

public float friss(float menge) {
    this.gewicht = this.gewicht + menge;
    return this.gewicht;
}

Eine Methode ist eine Fähigkeit des Objekts. Der Kopf verrät dir alles Wichtige:

publicVon außen aufrufbar.
float (vorne)Die Methode gibt eine Kommazahl zurück.
frissName der Methode.
(float menge)Sie braucht beim Aufruf eine Zahl. Diese heißt innen menge.

Stell Gewicht und Menge ein und schau, was Zeile für Zeile passiert.

Experiment: friss() verfolgen

    return schickt einen Wert an den zurück, der die Methode aufgerufen hat. Das Gewicht wird auch ohne return geändert. Das Ergebnis darfst du beim Aufruf ignorieren.

    Schritt 4

    Getter und Setter

    Die Attribute sind private. Von außen kommst du nicht direkt dran. Deshalb gibt es zwei Arten von Türen:

    Getter: Wert lesen
    public String getName() {
        return name;
    }
    Setter: Wert ändern
    public void setName(String name) {
        this.name = name;
    }

    Der Getter hat einen Rückgabetyp (String) und keine Parameter. Der Setter hat void (gibt nichts zurück) und einen Parameter. Für gewicht gibt es dasselbe Paar: getGewicht() und setGewicht(...).

    Hier ist ein Tier-Objekt t. Rufe die Methoden auf und beobachte die Konsole. Versuche auch den direkten Zugriff.

    Experiment: Objekt t bedienen

    Warum der Umweg? Die Klasse bestimmt, was mit ihren Daten passiert. In einen Setter kannst du später Prüfungen einbauen, zum Beispiel „Gewicht darf nicht negativ sein“. Das nennt man Kapselung, ein beliebtes Prüfungsthema.

    Schritt 5

    Was bedeutet this?

    Im Setter heißen das Attribut und der Parameter gleich: name. Java muss wissen, welches gemeint ist. this.name ist das Attribut des Objekts. Ein einzelnes name ist der Parameter, der zuletzt deklariert wurde.

    Experiment: mit und ohne this
    
        

    Ohne this weist der Parameter sich selbst zu: Er bekommt seinen eigenen Wert. Das Attribut bleibt unverändert. Eclipse zeigt dafür oft eine Warnung. Der Code läuft trotzdem, deshalb ist der Fehler schwer zu finden.

    In friss steht this.gewicht auch auf beiden Seiten. Das ist nicht nötig, weil es dort keinen Parameter namens gewicht gibt. Es schadet aber nicht und macht klar: Das ist das Gewicht dieses Tieres.

    Schritt 6

    Alles zusammen benutzen

    Deine zweite Datei heißt Tierpark.java. Dort steht die main-Methode, mit der das Programm startet. So könnte sie aussehen:

    package prüfungsVB;
    
    public class Tierpark {
        public static void main(String[] args) {
            Tier t = new Tier();          // 1
            t.setName("Leo");             // 2
            t.setGewicht(190);            // 3
            t.friss(10);                  // 4
            System.out.println(t.getName() + " wiegt " + t.getGewicht() + " kg");  // 5
        }
    }
    ZeileWas passiertnamegewicht
    1Neues Tier-Objekt, noch leernull0.0
    2Name wird gesetzt"Leo"0.0
    3Gewicht wird gesetzt"Leo"190.0
    4Leo frisst 10: 190 + 10"Leo"200.0
    5Ausgabe in der KonsoleLeo wiegt 200.0 kg

    Prüfungsfalle: Zahlen mit Komma sind in Java standardmäßig double. t.friss(2.5) gibt einen Fehler, weil die Methode float erwartet. Schreib t.friss(2.5f). Ganze Zahlen wie friss(10) passen immer.

    Üben

    Aufgaben

    Die Aufgaben folgen deinem Code von oben nach unten: Die ersten zehn bauen die Klasse Tier Stück für Stück nach (Zeile 1 bis 29). Danach wird es schwerer. Schreib den Java-Code selbst in die Felder. Die Prüfung ignoriert Leerzeichen, Zeilenumbrüche und Kommentare. Auf Groß- und Kleinschreibung, Semikolons und Klammern kommt es an. Wenn deine Lösung anders aussieht als die Musterlösung, aber funktioniert, ist das in Ordnung. Vergleiche dann beide.

    Selbsttest

    Quiz

    Sechs Fragen. Wähle je eine Antwort und prüfe dich.