2.1 Objekte erzeugen und verwenden

Bevor wir ein Objekt verwenden können, muss es zunächst erzeugt werden. Ein Objekt wird auch als Instanz bezeichnet und das Erzeugen eines neuen Objekts entsprechend Instanzierung1.

Objekt erzeugen

Wird die in Abb. 2-2 zu sehende Anweisung zur Laufzeit des Programms ausgeführt, erzeugt der Computer ein neues Objekt der Klasse Roboter und speichert es im Arbeitsspeicher.

JAVA

new Roboter()

Abb. 2-2: Ein neues Objekt der Klasse Roboter wird erzeugt.

Ein neues Objekt wird mit Hilfe des Schlüsselwortes new erzeugt, auf das der jeweilige Klassenname sowie eine öffnende und eine schließende runde Klammer folgen.

JAVA

new Klassenname()

Merke: Erzeugung eines neuen Objekts

Objekt erzeugen und einem Objektnamen zuweisen

Soll der so erzeugte Roboter nun irgendetwas tun, zum Beispiel sich das Spielbrett merken, auf dem er eingesetzt werden soll, muss ihm eine entsprechende Nachricht geschickt werden. Dafür muss jedoch bekannt sein, unter welcher Adresse der Roboter im Arbeitsspeicher zu finden ist. Da während der Programmierung keine festen Speicheradressen zugewiesen werden, lässt sich jedoch nicht vorhersagen, unter welcher Adresse der Computer ein Objekt zur Laufzeit abspeichern wird.

JAVA

robi = new Roboter();

Abb. 2-3: Ein neues Objekt der Klasse Roboter wird erzeugt und seine Speicheradresse dem Objektnamen robi zugewiesen.

Ein Objektname fungiert als Platzhalter, der zur Laufzeit die jeweilige Speicheradresse des Objekts enthält. Kennt ein Objekt den Namen eines anderen Objekts, kann es ihm eine Nachricht schicken und es so auffordern, eine seiner Methoden auszuführen.

Merke: Objektname

In der Programmiersprache Java dient das Gleichheitszeichen dazu, dem Ausdruck auf seiner linken Seite einen Wert zuzuweisen, der durch den Ausdruck auf seiner rechten Seite bestimmt wird.

JAVA

objektname = new Klassenname();

Merke: Gleichheitszeichen

Jede Anweisung wird mit einem Strichpunkt abgeschlossen.

Merke: Strichpunkt

Deklaration des Objektnamens

Bevor ein Objektname verwendet werden darf, muss dieser zunächst bekannt gegeben werden. Diese Bekanntgabe wird als Deklaration2 bezeichnet.

JAVA

Roboter robi;

Abb. 2-4: Deklaration des Objektnamens robi für ein Objekt der Klasse Roboter.

Die Anweisung zur Deklaration eines Objektnamens beginnt mit dem Namen der Klasse, der das Objekt angehört, gefolgt von dem gewünschten Objektnamen.

JAVA

Klassenname objektname;

Merke: Deklaration des Objektnamens
Aufgabe

Aufgabe 2-1: Szenario – „Erste Schritte“ (Fortsetzung)

  1. Laden Sie die Datei JavaRobot3.zip herunter und entpacken Sie diese.
  2. Importieren Sie in Eclipse das entpackte Eclipse-Projekt.
  3. Suchen Sie im Ordner src das Paket welt, darin das Paket szenario und darin die Klasse SzenarioVorlage.java.
  4. Kopieren Sie die Klasse SzenarioVorlage.java und speichern Sie sie unter dem Namen SzenarioAufgabe2_1.java.
  5. Passen Sie den Text im Attribut name entsprechend Abb. 2-5 an, indem Sie den Überschrifttext dieser Aufgabe kopieren und dort einfügen.
  6. Fügen Sie der erstelleRobi-Methode eine Anweisung hinzu, die ein neues Objekt der Klasse Roboter erzeugt und den Verweis auf dieses Objekt dem Attribut robi zuweist.
JAVA

public class SzenarioAufgabe2_1 implements Szenario {

    private String name = "Aufgabe 2-1: Szenario – „Erste Schritte“";
    private Roboter robi;

    @Override
    public void erstelleRobi(Spielbrett ausgewaehltesSpielbrett) {
        robi = new Roboter();
    }
    
    @Override
    public void steuereRobi() {
    
    }

    @Override
    public String getName() {
        return name;
    }
    
}

Abb. 2-5: Quellcode der Klasse Szenario
Lösung