Serialisierung der Oberklasse

Panas

Neues Mitglied
Hallo zusammen,

wie aus dem Titel ersichtlich habe ein Problem beim Serialisieren einer Klasse und ihrer Oberklasse.

In "Java ist auch eine Insel" steht:

"Wird eine Klasse serialisiert, so werden automatisch die Informationen der Oberklasse mitserialisiert. Hierbei gilt, dass wie beim Konstruktor erst die Attribute der Oberklasse in den Datenstrom geschrieben werden und anschließend die Attribute der Unterklasse."

Nun habe eine Klasse "Unterklasse" die erbt von "Oberklasse" die wiederrum erbt von Figure (org.eclipse.draw2d.Figure).

Als ich die Unterklasse serialisieren wollte, hat es die Attribute der Oberklasse NICHT mitserialisiert. Als ich in der Oberklasse auch das Interface "Serializable" implementiert hatte, wurde auch die Oberklasse mitserialisiert. Ok soweit kein Problem. Nun hat aber auch "Figure" Attribute, die nicht mitserialisert werden und Figure kann ich natürlich nicht bearbeiten.

Wieso wird die Oberklasse Figure nicht mitserialisiert? Hat jemand einen Tip wie ich die Figureklasse mitserialisieren kann?

Vielen Dank!
 
Wenn Figure nicht serializable implementiert, dann kannst du die Klasse nicht serialisieren, da führt kein weg dran vorbei 😉
Du könntest dir eine Klasse FigureData schreiben die alle wichtigen Daten der Figure enthält und die Klasse kannst du dann serialisieren.
 
Oder man implementiert die Write-/ReadObject-Methoden selbst, sofern man Zugriff auf die Attribute der Oberklassen hat, welche serialisert werden sollen.
 

Zurück
Oben