Hallo,
Ich habe folgendes Problem, bei welchem ich absolut nicht weiterkomme -.-
Gegeben sei folgenden Konstruktor:
Rot, RotGelb usw. sind definierte Konstruktoren, die jeweils einer Unterklasse der abstrakten Klassen Zustand abgehören.
In einer Methode schalteWeiter():void muss ich nun durch die Zustände schalten können, was jedoch daran scheitert, dass ich aktuell nicht mehr zuordnen kann... ist es jetzt gerade Rot(), RotGelb()...?
Die equals() in ihrer Grundform funktioniert hier offensichtlich nicht und wie ich sie anpassen könnte, weiß ich nicht.
Zunächst war mein Ansatz, in die Konstruktoren der Klassen Rot, RotGelb usw. einen String einzufügen, der der Namen der jeweiligen Klasse wiedergibt. Damit hatte ich auch ein vergleichbares Objekt. Eine spätere Aufgabenstellung jedoch macht die Nutzung solcher Objekte unmöglich.
Folglich stehe ich wieder vor dem Anfangsproblem:
Wie kann ich feststellen, welchen der Zustände "aktuell" gerade verkörpert?
lieben Gruß
Moch
Ich habe folgendes Problem, bei welchem ich absolut nicht weiterkomme -.-
Gegeben sei folgenden Konstruktor:
Code:
public Ampel(){
zustaende = new Zustand[4] //zustaende bereits in der Klasse definiert mit Zustand[] zustaende;
zustaende[0] = new Rot();
zustaende[1] = new RotGelb();
zustaende[2] = new Grün();
zustaende[3] = new Gelb();
startzustand = zustaende[0];
aktuell = startzustand;
}
Rot, RotGelb usw. sind definierte Konstruktoren, die jeweils einer Unterklasse der abstrakten Klassen Zustand abgehören.
In einer Methode schalteWeiter():void muss ich nun durch die Zustände schalten können, was jedoch daran scheitert, dass ich aktuell nicht mehr zuordnen kann... ist es jetzt gerade Rot(), RotGelb()...?
Die equals() in ihrer Grundform funktioniert hier offensichtlich nicht und wie ich sie anpassen könnte, weiß ich nicht.
Zunächst war mein Ansatz, in die Konstruktoren der Klassen Rot, RotGelb usw. einen String einzufügen, der der Namen der jeweiligen Klasse wiedergibt. Damit hatte ich auch ein vergleichbares Objekt. Eine spätere Aufgabenstellung jedoch macht die Nutzung solcher Objekte unmöglich.
Folglich stehe ich wieder vor dem Anfangsproblem:
Wie kann ich feststellen, welchen der Zustände "aktuell" gerade verkörpert?
lieben Gruß
Moch
Zuletzt bearbeitet: