Hallo,
Ich habe schon wieder ein Problem -.-
Derzeit bearbeiten wir eine Klausurvorbereitungsaufgabe, in welcher es um Ampel geht. Hierbei sollen wir die Zustände einer Ampel (Rot, RotGelb, Gelb, Grün) als eigene Klasse schreiben, die von einer abstrakten Klasse Zustand erben.
Nach etlichen Versuchen, ist mir vorhin eine neue Idee gekommen, wie ich das umsetzen könnte und natürlich bin ich wie immer gleich gegen eine Wand gerannt.
In der abstrakten Klasse habe ich einen Konstruktor geschrieben, der an die Unterklasse vererbt werden soll. Jetzt weiß ich jedoch nicht, woher das Programm wissen soll, welches Objekt er erstellen soll, wenn ich die Konstruktor der Oberklasse aufrufe... wie kann ich das bewerkstelligen?
Ich schreibe hier mal nur die Konstruktoren rein, um es kurz zu halten
Die übrigen Farben entsprechend.
Wie kann ich nun dem Konstruktor der Oberklasse sagen, dass er explizit eine Instanz der Klasse Rot erzeugen soll, ohne dass ich rot direkt als eigenes Objekt anspreche.
Also
wollte ich eigentlich vermeiden, wenn das möglich ist.
Ich möchte den Konstruktur von z.B Rot ansprechen, wenn als String akt "Rot" übergeben wird.
lieben Gruß
Moch
Ich habe schon wieder ein Problem -.-
Derzeit bearbeiten wir eine Klausurvorbereitungsaufgabe, in welcher es um Ampel geht. Hierbei sollen wir die Zustände einer Ampel (Rot, RotGelb, Gelb, Grün) als eigene Klasse schreiben, die von einer abstrakten Klasse Zustand erben.
Nach etlichen Versuchen, ist mir vorhin eine neue Idee gekommen, wie ich das umsetzen könnte und natürlich bin ich wie immer gleich gegen eine Wand gerannt.
In der abstrakten Klasse habe ich einen Konstruktor geschrieben, der an die Unterklasse vererbt werden soll. Jetzt weiß ich jedoch nicht, woher das Programm wissen soll, welches Objekt er erstellen soll, wenn ich die Konstruktor der Oberklasse aufrufe... wie kann ich das bewerkstelligen?
Ich schreibe hier mal nur die Konstruktoren rein, um es kurz zu halten
Code:
public abstract class Zustand {
String akt;
String next;
public Zustand(String akt, String next){
this.akt = akt;
this.next = next;
}
Code:
public class Rot extends Zustand {
public Rot(String akt, String next) {
super(akt, next);
// TODO Auto-generated constructor stub
}
Die übrigen Farben entsprechend.
Wie kann ich nun dem Konstruktor der Oberklasse sagen, dass er explizit eine Instanz der Klasse Rot erzeugen soll, ohne dass ich rot direkt als eigenes Objekt anspreche.
Also
Code:
Rot rot = new Rot("Rot", "RotGelb");
Ich möchte den Konstruktur von z.B Rot ansprechen, wenn als String akt "Rot" übergeben wird.
lieben Gruß
Moch