Greenfoot Variablenwert eines anderen Objekts auslesen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Zum einen brauchst du das Objekt, von dem du einen Zustand auslesen / setzen möchtest und zum anderen wäre eine entsprechende Schnittstelle für diese Aktion förderlich.

Beispiel:

public class Dog {
  private String name;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
}

Objekte dieser Klasse haben einen Namen. Die Methoden get- und setName sind jeweils Schnittstellen, um diesen Namen von außen kontrolliert ändern oder abfragen zu können (Stichworte: Prinzip der Kapselung/Data-Hiding).

Nun gibt es eine zweite Klasse, die Methoden definiert, um den Namen des Hundes zu setzen oder auszulesen:

class DogOwner {
  private Dog dog;

  public DogOwner(Dog dog) {
    this.dog = dog;
  }

  public void assignNameToDog(String name) {
    dog.setName(name);
  }

  public void callDog() {
    System.out.println(dog.getName());
  }
}

Ein Anwendungsbeispiel dieser Klassen könnte so aussehen:

Dog odie = new Dog();
PetOwner jon = new PetOwner(odie);
jon.assignNameToDog("Odie");
jon.callDog();

Ich kenne Greenfoot nicht aber Booleanwerte werden in der Regel mit einem if statement überprüft. Bspw.

if (case1 == true) {
   do this
} 

eliaa19 
Fragesteller
 21.02.2022, 20:47

ja, das weiß ich ja. aber ich möchte den wert aus einem anderen Programm auslesen

0