Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: wechselseitige kennt beziehung (forward deklaration)

  Alt 20. Mär 2007, 11:01
Zitat von Jake1:
Und zwar gehts darum das ein objekt ein anderes kennen muss und umgekehrt!
Hi und erstmal Herzlich Willkommen in der DP

Dein eigentliches Problem liegt schon darin, dass Du eine solche Wechselseitige Abhängigkeit benötigst. Am schönsten lässt sich ein solches Problem immer umgehen, wenn Du eben auf diese Art von Beziehung verzichtest.
Die Frage ist, warum muss ein Monster Pacman kennen und umgekehrt? Das ein Monster Pacman kennt ist klar, immerhin sollen die den ja jagen bzw. merken wenn er erwischt wurde. Natürlich kannst Du auch Pacman prüfen lassen, ob er gerade gegen ein Monster gelaufen ist, aber wozu müssen die Beiden sich wechselseitig kennen?

Eine gute Alternative ist es dann noch, dass Du mit Interfaces (abstrakte Schnittstellen) oder Vorfahr-Klassen arbeitest. So werden alle Spielfiguren ein paar gemeinsame Eigenschaften haben (z.B. können sie nicht durch Wände laufen, bewegen sich, ...). Das alles kannst Du dann schon in eine gemeinsame Vorfahrklasse packen. Den erbenden Klassen ist dann schon mindestens dieser Vorfahre bekannt. Da Pacman ziemlich einzigartig ist, wird jede andere Instanz dieser Vorfahrklasse natürlich ein Monster sein. Somit kann Pacman schon erkennen, ob es sich bei einem Objekt um ein Monster handelt, ohne dass die Klasse Monster zu dem Zeitpunkt existiert (sauberer wäre aber ein Monster Interface!). Wenn Du dann die Monster erstellst ist Pacman schon fertig und Du kannst die entsprechende fertige Implementierung verwenden (schöner auch hier ein Interface!).

Gruß Der Unwissende
  Mit Zitat antworten Zitat