Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert

Svens

Mitglied
Hallo zusammen,

ich habe folgendes Problem:
Ich habe eine Hauptklasse, in der drei Objekte erstellt werden. Dabei werden diese machen Objekten übergeben.

Java:
block = new Block(spieler,welt);
spieler = new Spieler(block);
welt = new Welt(block,spieler);

Jetzt ist aber das Problem, z.B. in Zeile 1: Block weiß ja noch gar nicht, was "spieler" und "welt" sind.
Setze ich diese davor kommt das nächste Problem:


Java:
spieler = new Spieler(block);
welt = new Welt(block,spieler);
block = new Block(spieler,welt);

Jetzt wird dem Spieler "block" übergeben. Jedoch weiß "spieler" ja noch gar nicht, was "block" ist.
Dies würde ja dann immer so weiter gehen.

Was kann man also da gegen tun?!? ???:L
 
Zuletzt bearbeitet:
Ich glaube nicht, dass die Beziehungen korrekt sind. Aber das lässt sich schwer beurteilen, wenn man den Sinn / Zweck nicht kennt.

Java:
spieler = new Spieler();
welt = new Welt();
block = new Block();

spieler.init(block);
welt.init(block,spieler);
block.init(spieler,welt);
 
Sich ein vernünftiges Konzept ausdenken?

Was ist denn Block überhaupt? Und warum muss die Welt den Spieler kennen? Es reicht doch wenn der Spieler seine Welt kennt. Wenn überhaupt, dann würde die Welt eine Liste von Spielern halten und dort würde man die Spieler eintrafen nachdem man sie erzeugt hat.

Gruss

Claus
 
@Ruzmanz
Danke für den Denkanstoß. Das ist genau das, wonach ich gesucht habe.

@Thallius
Du hattest recht. Ich musste mein Konzept wirklich noch einmal überdenken, so dass es jetzt Sinn macht.


Danke 🙂
 

Zurück
Oben