Greenfoot Variablenwert eines anderen Objekts auslesen?
hallo,
ich programmiere gerade Pacman in Greenfoot. Nun möchte ich, dass wenn PM einen großen Point "frisst", ein boolean wert auf true gesetzt wird und wenn er das nächste mal den geist berührt dieser den Wert ausließt und "stirbt". Ich möchte also den Wert eines anderen Objekts auslesen.
danke
2 Antworten
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
}
ja, das weiß ich ja. aber ich möchte den wert aus einem anderen Programm auslesen