nicht static und auch nicht new

Ich versuche im Moment, von einer Schach Klasse (ohne eine static) eine Bauer Klasse ( auch nicht static) auszuführen.
Das funktioniert wunderbar. Doch, wenn ich jetzt versuche, von der Bauer Klasse zurück zur Schach Klasse die Funktion Figuren auszuführen, geht es nicht, da ich ja kein neues Schachbrett haben möchte, ich aber auch nicht eine Static Methode benutzen kann, da das dann nicht mehr auf all die anderen Klassen, die alle schon entstanden sind, zugreifen kann...

Kann mir da jemand helfen?
 
Wenn Du so Abhängigkeiten benötigst, dann musst Du die entsprechenden Instanzen mitgeben.

also z.B. kann eine SchachFigur das Spielfeld, auf dem es ist, kennen. Dann sähe das in etwa so aus:
Java:
public class SchachFigur() {
    private final SchachFeld schachfeld;
    
    public SchachFigur(SchachFeld schachfeld) {
        this.schachfeld = schachfeld;
    }
}
==> Beim erstellen der Schachfigur muss man dann das Schachfeld mit angeben. Wenn dies im Schachfeld passiert, dann wäre das einfach this, das als Parameter mit angegeben wird. Und in SchachFigur kann dann auf das Schachfeld zugegriffen werden.

Wenn es keine generelle Abhängigkeit ist sondern nur bei einer speziellen Methode benötigt wird, dann kann es auch einfach ein Parameter der Methode sein, also etwas in der Art:
Java:
public class SchachFigur() {
    public void machWas(SchachFeld schachfeld) {
        // Hier wird was gemacht, dass das schachfeld benötigt;
    }
}
 

Neue Themen


Zurück
Oben