ich bearbeite atm das Problem ein Datum als Objekt zu erstellen (mit Stunde und Minute) dieses soll serialisiert werden in einer bestimmten Datei und dann soll diese Datei wieder eingelesen werden und eben das Datum ausgegeben werden, eigentlich recht überschaubar.
Leider komme ich bisher nicht mit meiner vorgegebenen Methode klar, die die einzelnen Daten (Jahr Monat, etc.) als String aneinander klebt.
Gebe ich das Datum vor der Serialisierung aus, kommt dort aber Quarck raus und nach der Serialisierung kommt anderer Quarck raus, könnt ihr mir eventuell helfen wo dasProblem liegt?
ps: Es gibt eine Klasse Zeit die den Konstruktor für Stunde/Minute beinhaltet sowie diese Stringmethode, eine Klasse Datum, die bisher die Kontrsuktoren für Tag/Monat/Jahr beinhaltet und eine weitere main-Klasse in der die Serialisierung und Ausgabe getätigt werden soll.
Die Ausgabe die das Programm liefert sieht wie folgt aus:
Das Problem ist ein Verständnisproblem: Die Ausgabe entspricht dem was die Standartimplementierung von toString in Object zurückgibt. Und das ist eben Klasse@SpeicherAdresse. Und da das erste Objekt nicht die selbe Speicheradresse hat wie das deserialisierte, sind die Ausgaben unterschiedlich. Du musst toString() in Datum überschreiben, damit was sinnvolles rauskommt.
, diese besitzt also jede Klasse. Dort wird einfach die Speicheradresse als String zurückgegeben, nun ist es an dir, diese mit etwas sinnvollerem zu "überschreiben", indem du sie erzeugst und mit
"Wie oben gezeigt" ok aber wenn ich das obige benutze funktioniert es eben nicht:
"method does not override or implement a method from a supertype"
Da ich "überschreiben" noch nicht kenne - ich weiß das er die Adresse zurückgibt und nicht den String den er soll, aber - deshalb weiß ich auch nicht wie ich das hinbiege damit er das macht.
"Override" findet sich leider nicht im Script deshalb ist das neu für mich.
nicht wenn du in der Klasse Datum bist, wo es entsprechende Instanzattribute gibt..,
("du musst in der Klasse Datum die Methode toString() überschreiben" hieß es ja auch, bist du dort?)
ohne Mitdenken/ Grundlagen ist das alles schwer abzustimmen hier
Ich sagte ja bereits, dass ich das nicht hatte (stand auch dort) deswegen kann ich auch nur schwer mitdenken sondern muss erstmal überhaupt wissen wies geht, meine Vorgehensweise hatte ich beschrieben die hat niemand kritisiert,...
Naja also nun in Datum und tatsächlich kennt er in Datum natürlich minute und Stunde nicht...
Ich hab die Variablen deklariert (mal versuchsweise) und es klappt so halbwegs, leider werden nun einige Werte nicht korrekt übernommen:
0:0:0:7:2012
0:0:0:7:2012
Woran kann das nun liegen?
Ich habe grade gesehen warum er minute und stunde nicht kennen kann, die sind als private deklariert,a lso kann er da nicht ran kommen, gibt es noch eine andere Möglichkeit?
Ich finde es erstaunlich, dass es bei dir funktioniert und bei mir nicht obwohl wir denselben Code haben.
So ich habe es jetzt raus, in Zeit die toStringmethode stehen gelassen und in Datum mit superaufgerufen und den Rest dran geklebt (änlich wie oben), dann läufts