studyklar
GdI 2 · Übungsblatt 5 · Aufgabe 1

Eine eigene Klasse Tier mit Konstruktor und toString

Bisher stand jedes Programm in einer einzigen Klasse mit main. Jetzt schreiben wir eine eigene Klasse Tier und legen danach vier Tiere an. Rechts steht die Datei, um die es gerade geht; die Zeilen zum aktuellen Schritt sind hervorgehoben. Mit Weiter geht es Schritt für Schritt voran.

Die Aufgabe

Aufgabe 1

Erstellen Sie eine Klasse „Tier“ mit Attributen für name, geburtsjahr, art und herkunftsland sowie dem kanonischen Konstruktor mit Parametern für alle Attribute. Fügen Sie eine geeignete toString-Methode hinzu, die alle Attributwerte ausgibt.

Erstellen Sie in der main-Methode einer Klasse „TierApp“ vier verschiedene Tierobjekte und geben Sie jeweils die Attributwerte auf der Konsole aus.

Eine Klasse ist ein Bauplan. Sie legt fest, welche Angaben jedes Tier hat. Ein Objekt ist ein einzelnes Tier, das nach diesem Bauplan gebaut wird, etwa das Krokodil Schnappi. Aus einer Klasse kann man beliebig viele Objekte bauen.

Merke: Die Klasse Tier steht in ihrer eigenen Datei Tier.java. Die Klasse TierApp mit der main-Methode steht in TierApp.java und benutzt den Bauplan.
  1. Klasse Tier: vier Attribute, ein Konstruktor, eine toString-Methode.
  2. TierApp: vier Tiere anlegen und ausgeben.

Vier Attribute festlegen

public class Tier {     private String name;    private int geburtsjahr;    private String art;    private String herkunftsland;

Ein Attribut ist eine Variable, die zum Objekt gehört. Jedes Tier hat seinen eigenen Namen, sein eigenes Geburtsjahr und so weiter. Die Attribute stehen in der Klasse, aber außerhalb jeder Methode.

Der Name, die Art und das Land sind Text, also String. Das Geburtsjahr ist eine ganze Zahl, also int. private heißt: Nur Code in der Klasse Tier darf die Attribute direkt lesen und ändern.

Aus Vorlesung 5, Folie 3 („Lösung: Klasse LKW“): Eine Klasse steht in einer eigenen Datei mit ihrem Namen. Attribute ohne static sind Attribute der Objekte: Jedes Objekt hat eigene Werte.

Der Konstruktor bekommt alle Werte

    public Tier(String name, int geburtsjahr, String art, String herkunftsland) {        this.name = name;        this.geburtsjahr = geburtsjahr;        this.art = art;        this.herkunftsland = herkunftsland;    }

Ein Konstruktor ist eine besondere Methode, die beim Anlegen eines Objekts läuft. Er heißt genau wie die Klasse und hat keinen Rückgabetyp, nicht einmal void.

„Kanonisch“ heißt hier: Der Konstruktor hat für jedes Attribut einen Parameter, in derselben Reihenfolge. Wer ein Tier anlegt, muss also alle vier Werte mitgeben.

Aus Vorlesung 5, Folie 5 („Konstruktor“): Hat eine Klasse einen eigenen Konstruktor mit Parametern, gibt es new Tier() ohne Werte nicht mehr.
Noch 6 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Tier.java

der Bauplan

Abbildung 1Tier.java

der Bauplan

public class Tier {     private String name;    private int geburtsjahr;    private String art;    private String herkunftsland;     public Tier(String name, int geburtsjahr, String art, String herkunftsland) {        this.name = name;        this.geburtsjahr = geburtsjahr;        this.art = art;        this.herkunftsland = herkunftsland;    }     public String toString() {        return "Name: " + name + ", geboren: " + geburtsjahr                + ", Art: " + art + ", Herkunftsland: " + herkunftsland;    }}
LegendeDie ganze Klasse Tier.