mehrere Klassen greifen auf ein gemeinsames Array zu

fentes

Grünschnabel
Hallo,
ich versuche für den Informatik-Unterricht ein Tetrisklon zu programmieren.
für die optischen Ausgaben nutze ich die Stifte und Mäuse Bibliothek. Die genauen Positionen der zu bewegenden Figur, sowie alle bereits belegten Felder sollen in einem zweidimensionalen Array gespeichert werden. Dieses liegt in einer eigenen Klasse.

wie muss ich es anstellen, dass mehrere Klassen auf dieses eine Array zugreifen, denn wenn ich in einer Klasse A schreibe

feld = new Feld();

dann generiert er ein eigenes Array für die Klasse A. Wenn ich es in Klasse B schreibe, macht er ein neues für B.
Ich möchte aber gerne, dass A und B das gleiche bearbeiten.
 

sheel

I love Asm
Hi und Willkommen bei tutorials.de,

Da von B und A ja eines zuerst erstellt wird: Dort, im Ersten, das new.
Bei der Erstellung vom Zweiten (new B() oder so) dann das vorhandene Array
als Parameter mitgeben (new B(hierher))

Den Konstruktor von B (oder was eben zeitlich später kommt) dann entsprechend anpassen,
dass er einen Parameter bekommt, und das übergebene dann der Klassenvariable zuweisen.

Java:
class A
{
    int[] dasarray;
    B dasB;

    public A() {
    }

    public void irgendwann() {
        dasarray = new int[1234];
    }

    public void irgendwannanders() {
        //kann natürlich auch gleich nach dem oberen sein
        dasB = new B(dasarray);
    }
}

...

class B
{
    int[] dasarray;

    public B(int[] dasarray() {
        this.dasarray = dasarray;
    }
}

Wenn B nicht direkt von A erstellt wird muss der B-Ersteller
das Array aus A zuerst rausbekommen.
Ein getDasarray oder sowas in der Art zB.