Hiho,
hier meine erste Frage in diesem Forum
Bin noch Java Anfänger also bitte nicht in der Luft zerreißen^^
Problembeschreibung:
Ich möchte einen Art Planer zu Übungszwecken programmieren. Ich habe mir die Klasse Day geschrieben die verschiedene Eigenschaften und Methoden mit Hilfe des GregorienCalendar hat.
Zusätzlich gibt es eine Klasse Workday die von Day erbt und zusätzliche Attribute besitzt.
Nun möchte ich eine Calendar Klasse mit einer LinkedList<T extends Day> erstellen.
Also irgwelche Kalendertage besitzen kann.
Meine Idee ist immer nur den aktuellen Tag im Konstruktor zu erstellen und dann mit Hilfe eines Iterator alle folgenden Tage zu konstruieren. Ist das sinnvoll?
Auch wenn das Objekt mit MyCalendar<Workday> erstellt wird, erzeugt LinkedList<T> eine LinkedList<Day> und leider nicht LinkedList<Workday>. Das wäre prinzipiell noch kein Problem, aber da hab ich zum ersten mal gemerkt, dass ich mit T.getInstance() (habe mir jeweils eine Methode in Day und Workday geschrieben, die eine Instanz der Klasse zurückgibt.) immer ein Day Objekt erstellt und ich somit immer nur Zufgriff auf Day und nicht auf Workday Methoden und Attribute habe.
Eine allgemein Frage die ich hätte:
Ein Upcast funktioniert problemlos von Workday auf Day.
Aber ein Downcast also von Day zu Workday wirft eine Exception. Wobei eigentlich, doch nur zusätzliche Attribute initialisiert werden müssen. Muss ich eine cast methode schreiben? oder wie kann ich da vorgehen?
Danke im Vorraus für Alles
habt Rücksicht, ist mein erstes Projekt^^
hier meine erste Frage in diesem Forum
Problembeschreibung:
Ich möchte einen Art Planer zu Übungszwecken programmieren. Ich habe mir die Klasse Day geschrieben die verschiedene Eigenschaften und Methoden mit Hilfe des GregorienCalendar hat.
Zusätzlich gibt es eine Klasse Workday die von Day erbt und zusätzliche Attribute besitzt.
Nun möchte ich eine Calendar Klasse mit einer LinkedList<T extends Day> erstellen.
Also irgwelche Kalendertage besitzen kann.
Meine Idee ist immer nur den aktuellen Tag im Konstruktor zu erstellen und dann mit Hilfe eines Iterator alle folgenden Tage zu konstruieren. Ist das sinnvoll?
Auch wenn das Objekt mit MyCalendar<Workday> erstellt wird, erzeugt LinkedList<T> eine LinkedList<Day> und leider nicht LinkedList<Workday>. Das wäre prinzipiell noch kein Problem, aber da hab ich zum ersten mal gemerkt, dass ich mit T.getInstance() (habe mir jeweils eine Methode in Day und Workday geschrieben, die eine Instanz der Klasse zurückgibt.) immer ein Day Objekt erstellt und ich somit immer nur Zufgriff auf Day und nicht auf Workday Methoden und Attribute habe.
Java:
public MyCalendar() {
calendar = new LinkedList<T>();
@SuppressWarnings("unchecked")
T toAdd = (T) T.getInstance(new GregorianCalendar());
calendar.add(toAdd);
it = new CalenderIterator<T>(this);
}
Eine allgemein Frage die ich hätte:
Ein Upcast funktioniert problemlos von Workday auf Day.
Aber ein Downcast also von Day zu Workday wirft eine Exception. Wobei eigentlich, doch nur zusätzliche Attribute initialisiert werden müssen. Muss ich eine cast methode schreiben? oder wie kann ich da vorgehen?
Danke im Vorraus für Alles
habt Rücksicht, ist mein erstes Projekt^^