Hallo, es soll eine Klasse Datum als verkette Liste geschrieben werden, die garantiert,dass es zu einem Datum auch nur ein Objekt gibt.
Dazu gibt es zwei statische Variablen:
-first für das zuerst erzeugte Datums-Objekt
-last für das bisher letzte erzeugte Objekt
Jedes Datum-Objekt hat ein Attribut next, das auf das nächste Objekt verweist.
So soll es vllt aussehen.
Ich habe eine Frage zu den letzten Zeilen. Auf was greift man denn mit last.next zu?
Es handelt sich doch beides um Date-Objekte.
Dazu gibt es zwei statische Variablen:
-first für das zuerst erzeugte Datums-Objekt
-last für das bisher letzte erzeugte Objekt
Jedes Datum-Objekt hat ein Attribut next, das auf das nächste Objekt verweist.
So soll es vllt aussehen.
Java:
class Date {
// Attribute (Instanzvariablen):
private int day;
private int month;
private int year;
private Date next;
// Klassen-Attribute (statische Variablen):
private static Date first = null;
private static Date last = null;
// Lesezugriff fuer Attribute:
public int day() { return this.day; }
public int month() { return this.month; }
public int year() { return this.year;}
private Date(int d, int m, int y) {
this.day = d;
this.month = m;
this.year = y;
}
// Suchen / Erzeugen von Objekten:
public static Date get(int d, int m, int y) {
// Falls noch gar keine Objekte:
if(first == null) {
first = new Date(d, m, y);
last = first;
return first;
}
// Sonst suche Datum in Liste:
for(Date o = first; o != null;o = o.next) {
if(o.day == d && o.month == m && o.year == y)return o;
}
// Nicht gefunden, neues Objekt erzeugen
// und hinten an Liste anhaengen:
Date n = new Date(d, m, y);
last.next = n;
last = n;
return n;
}
}
Ich habe eine Frage zu den letzten Zeilen. Auf was greift man denn mit last.next zu?
Es handelt sich doch beides um Date-Objekte.