Polymorphismus

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hallo,


ich erzeuge in einer Klasse einen Button und rufe, wenn er gedrückt wird, je nach dem in einer Klasse eine Methode auf

Code:
//das steht in actionPerformed(...) {

 if (states.elementAt(0).getZielSystem().equals("Ziel1"))
                myFrame.openSelectedDocument(null, bildWechselIndex);
            else 
                yourFrame.openSelectedDocument(bildWechselIndex);

states.elementAt(0).getZielSystem().equals("Ziel1") -> das frage ich aus einem Vector ab,

Meine Frage wäre jetzt, ob es da eine elegantere Lösung gibt, damit automatisch die richtige Methode aufgerufen wird?

lg
 

The_S

Top Contributor
Wenn du einen Button hast, kann der doch nur angeklickt werden. Also Wenn Button gedrückt, dann Klasse#Methode. Versteh dein Prob gerade net so ...
 

PollerJava

Top Contributor
Abhängig von dem da: states.elementAt(0).getZielSystem().equals("Ziel1") rufe ich die Methode openSelectedDocument in der Klasse myFrame oder in der Klasse yourFrame auf und ich dachte mir, vielleicht gibts da eine elegantere Lösung als die if-else- Abfrage,
irgendwie dass ich ein Interface erstelle mit der Methode openSelectedDocument und myFrame und yourFrame diese Methode implementieren.

Ich weiß aber nicht, wie der Button dann unterscheiden könnte, welche Methode er aufruft,

lg
 

The_S

Top Contributor
Und was hat das Ganze mit deinem Button und der actionPerformed zu tun? Wenn du je nach Wert eine andere Methode aufrufen möchtest, benötigst du nunmal eine Abfrage ... weitere Möglichkeit wäre die Methode via Reflection auszuführen. Aber das wäre wohl ein bisschen übertrieben ;) .
 

PollerJava

Top Contributor
Ich dachte mir eben, vielleicht gibts da irgendein Design Pattern oder so aber ich werds mal bei dem belassen.
lg
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben