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.
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.
robi = new Roboter();
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.
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.
objektname = new Klassenname();
Jede Anweisung wird mit einem Strichpunkt abgeschlossen.
Deklaration des Objektnamens
Bevor ein Objektname verwendet werden darf, muss dieser zunächst bekannt gegeben werden. Diese Bekanntgabe wird als Deklaration2 bezeichnet.
Roboter robi;
Die Anweisung zur Deklaration eines Objektnamens beginnt mit dem Namen der Klasse, der das Objekt angehört, gefolgt von dem gewünschten Objektnamen.
Klassenname objektname;
Aufgabe 2-1: Szenario – „Erste Schritte“ (Fortsetzung)
- Laden Sie die Datei JavaRobot3.zip herunter und entpacken Sie diese.
- Importieren Sie in Eclipse das entpackte Eclipse-Projekt.
- Suchen Sie im Ordner src das Paket welt, darin das Paket szenario und darin die Klasse SzenarioVorlage.java.
- Kopieren Sie die Klasse SzenarioVorlage.java und speichern Sie sie unter dem Namen SzenarioAufgabe2_1.java.
-
Passen Sie den Text im Attribut
name
entsprechend Abb. 2-5 an, indem Sie den Überschrifttext dieser Aufgabe kopieren und dort einfügen. -
Fügen Sie der
erstelleRobi
-Methode eine Anweisung hinzu, die ein neues Objekt der KlasseRoboter
erzeugt und den Verweis auf dieses Objekt dem Attributrobi
zuweist.
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;
}
}