Hallo,
Java macht mir wieder einen Strick durch die Rechnung.
Ich habe eine ähnlichen Zustand schonmal gepostet:
- habe 1 Objekt Lobbie
- habe 5 Objekte die von lobbie erben: viergewinntLobby, pokerLobby usw.
- habe 5 Objekte die jeweils von den lobbies massenhaft erstellt werden (nicht ge/vererbt!): viergewinntTisch, pokerTisch usw.
Jetzt habe ich in der lobbie die Funktion sendeTischliste(). Die Tischlisten sind immer gleich aufgebaut, also möchte ich die Methode nur ein Mal definieren und von den unteren lobbies erben lassen.
sendeTischliste() möchte aber paar Tische erstellen. Jetzt weiß er nur nicht welche, denn wenn die Methode z.B. von pokerLobby geerbt wird, sind es pokerTische.
Wie deklariere ich das nun?
Ich will in der Definition derTisch also jeden Tisch ermöglichen, denn das ist ja individuell je nach Lobbie.
Muss ich dafür wieder eine ArrayList anlegen, weil die verschiedene Typen akzeptiert?
Großes Problem, kleine Frage. ^^
Java macht mir wieder einen Strick durch die Rechnung.
Ich habe eine ähnlichen Zustand schonmal gepostet:
- habe 1 Objekt Lobbie
- habe 5 Objekte die von lobbie erben: viergewinntLobby, pokerLobby usw.
- habe 5 Objekte die jeweils von den lobbies massenhaft erstellt werden (nicht ge/vererbt!): viergewinntTisch, pokerTisch usw.
Jetzt habe ich in der lobbie die Funktion sendeTischliste(). Die Tischlisten sind immer gleich aufgebaut, also möchte ich die Methode nur ein Mal definieren und von den unteren lobbies erben lassen.
sendeTischliste() möchte aber paar Tische erstellen. Jetzt weiß er nur nicht welche, denn wenn die Methode z.B. von pokerLobby geerbt wird, sind es pokerTische.
Wie deklariere ich das nun?
Java:
protected void sendeTischliste(User empfaenger) {
// ... query entsteht
for (int i = 0; i < queryRes.size(); i++) {
Tisch4Gewinnt derTisch = new Tisch4Gewinnt(this); // Nebenproblem: this soll die Instanz der Unterlobby übergeben (der Lobby die erbt), nicht die der Hauptlobby
// nun wird auf vielen Methoden des Tischs zugegriffen.
}
}
Muss ich dafür wieder eine ArrayList anlegen, weil die verschiedene Typen akzeptiert?
Großes Problem, kleine Frage. ^^