Jede Objektart in Mutterelement erlauben?

Status
Nicht offen für weitere Antworten.

== != equals

Aktives Mitglied
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?

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. 
	}
}
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. ^^
 
B

Beni

Gast
Wie wäre es mit einer Factory-Method?

Java:
public abstract class Lobby{
  protected void sendeTischliste(User empfaenger) {
    // ... query entsteht
 
    for (int i = 0; i < queryRes.size(); i++) {
        Tisch derTisch = createTisch();
    }

    // ... etc
  }

  protected abstract Tisch createTisch();
}

Java:
public class PokerLobby extends Lobby{
  protected Tisch createTisch(){
    return new PokerTisch( this );
  }
}
 

== != equals

Aktives Mitglied
Java:
for (int i = 0; i < queryRes.size(); i++) {
        Tisch derTisch = createTisch();
    }
Cool, also ich kann auch sagen der ist vom Objekt Tisch, obwohl er durch den getter zum Tisch4Gewinnt ist (war ja 'nur' das Kind ist)?
Sieht nach einer guten Idee aus, ich werde das gleich mal ausprobieren.

Ein Tisch Interface verwenden??
Hab gerade nachgeschlagen was das ist weil ich es noch nicht wusste, hm, ist natürlich auch eine Überlegung wert. Leider weiß ich nicht ob es im Endeffekt mehr Vorteile hat als die jetzige Version mit Vaterelement und Kind. Solange es ohne Interface gut geht. :)
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Klassendesign: Array für jede Objektart?! Java Basics - Anfänger-Themen 6
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
D Ampel Programmieren die jede 10 sekunden ihre farbe wechselt Java Basics - Anfänger-Themen 6
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
L Jede zweite Ziffer entfernen (rekursiv) Java Basics - Anfänger-Themen 6
A Jede x-te Zeile, lösche 10 Zeilen Java Basics - Anfänger-Themen 9
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
M Primzahlen, nur jede 2te ausgeben Java Basics - Anfänger-Themen 11
V Ein Wort einlesen und dann jede Buchstabe ausgeben Java Basics - Anfänger-Themen 10
M Threads Jede Klasse einem Thread zuweisen Java Basics - Anfänger-Themen 7
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
U Farbe meines Würfels jede sekunde ändern! Java Basics - Anfänger-Themen 5
W Erste Schritte Timer soll jede Sekunde Label aktualisieren Java Basics - Anfänger-Themen 5
R JLabel imageicon jede Sekunde wechseln Java Basics - Anfänger-Themen 3
S Jede Reihenfolge einer zufällig langen Liste ausprobieren Java Basics - Anfänger-Themen 3
J Eine int Variable jede Sekunde um 1 hocnzählen Java Basics - Anfänger-Themen 3
T Zufalls jedoch jede nur einmal Java Basics - Anfänger-Themen 10
K Swing Fenster jede sec.neuzeichnen Java Basics - Anfänger-Themen 14
A InputStream gibt nur jede 2te Zeile aus Java Basics - Anfänger-Themen 7
J Ein Wort einlesen und dann jede Buchstabe ausgeben Java Basics - Anfänger-Themen 25
J Jede Zeile der Textdatei in ListUI eintragen Java Basics - Anfänger-Themen 2
N jede Zwanzigste... ? Java Basics - Anfänger-Themen 12
Developer_X jede Zeile einer Datei mit einem String verketten Java Basics - Anfänger-Themen 16
S PrepareStatement, jede neue Zeile INT-Wert Java Basics - Anfänger-Themen 5
W Die Methode print() wird 2 mal für jede Seite aufgerufen Java Basics - Anfänger-Themen 9
G jede 2te zeile in vector leer einfügen, wie? Java Basics - Anfänger-Themen 4
N Aus Textdatei jede Zeile in einen String lesen Java Basics - Anfänger-Themen 22
F 2DArray jede Spalte Addieren Java Basics - Anfänger-Themen 8
G Datum und Text in jede beliebige Anwendung einfügen Java Basics - Anfänger-Themen 3
U Jede Sekunde Java Basics - Anfänger-Themen 6
M Braucht jede Klasse eine Schnittstelle ? Java Basics - Anfänger-Themen 4
M Jede Variable als private, protected etc. deklarieren? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben