Serialisierung

Werbung
Themen
De-/Serialisierung von Objekten
Stefan Szalowski
Programmierung II
De-/Serialisierung
De-/Serialisierung
●
Einordnung des Themas:
●
Programme verarbeiten Daten
–
Stefan Szalowski
OO-Programme speichern Daten in ...?
Programmierung II
De-/Serialisierung
De-/Serialisierung
●
Einordnung des Themas:
●
Programme verarbeiten Daten
–
●
Anforderung an die meisten Programme:
–
–
●
Stefan Szalowski
OO-Programme speichern Daten in Objekten.
● Objekt-Attribute stellen die Daten dar
● Zur Laufzeit gespeichert im RAM
Daten sollen abgespeichert werden können
Daten sollen geladen werden können
Wie haben wir das Speichern und Laden von Daten bisher
gehandhabt?
Programmierung II
De-/Serialisierung
De-/Serialisierung
●
Einordnung des Themas:
●
Programme verarbeiten Daten
–
●
Anforderung an die meisten Programme:
–
–
●
Daten sollen abgespeichert werden können
Daten sollen geladen werden können
Wie haben wir das Speichern und Laden von Daten bisher
gehandhabt?
–
Stefan Szalowski
OO-Programme speichern Daten in Objekten.
● Objekt-Attribute stellen die Daten dar
● Zur Laufzeit gespeichert im RAM
Siehe Semesteraufgabe
Programmierung II
De-/Serialisierung
De-/Serialisierung
●
Einordnung des Themas:
●
Programme verarbeiten Daten
–
●
Anforderung an die meisten Programme:
–
–
●
Stefan Szalowski
Daten sollen abgespeichert werden können
Daten sollen geladen werden können
Wie haben wir das Speichern und Laden von Daten bisher
gehandhabt?
–
●
OO-Programme speichern Daten in Objekten.
● Objekt-Attribute stellen die Daten dar
● Zur Laufzeit gespeichert im RAM
Siehe Semesteraufgabe
Es geht auch einfacher, sicherer und einheitlich ->
Programmierung II
De-/Serialisierung
Anwendungen der De-/Serialisierung
●
CD-Archiv
●
●
●
–
Stefan Szalowski
Klasse CD hat Attribute:
Titel, Label
- z.B. Strings
Mehrere Tracks
- z.B. in Vector gespeichert
Wie kann man die komplette CD geschickt speichern?
Programmierung II
De-/Serialisierung
Anwendungen der De-/Serialisierung
●
Serialisieren zu Transportzwecken
●
Um Objekte anderen zur Verfügung zu stellen
–
–
●
z.B. als Datei ...
... aber auch als Nachricht über eine Netzwerkverbindung
Speichern zu Sicherungszwecken
●
●
●
Stefan Szalowski
Objekt werden gespeichert
Programm wird beendet
Programm wird mit gespeicherten Daten zu einem
späteren Zeitpunkt fortgesetzt
Programmierung II
De-/Serialisierung
Speichern von Objekten
●
●
Serialisierung meint die persistente Speicherung von
Objekten!
Java stellt Klassen und Interfaces zum Serialisieren von
Objekten zur Verfügung:
●
●
–
Klasse java.io.ObjectOutputStream
z.B. Methode void writeObject(Object obj)
Damit ein Objekt gespeichert werden kann, muss seine Klasse
das Interface
java.io.Serializable implementieren!
Stefan Szalowski
Programmierung II
De-/Serialisierung
Laden von Objekten
●
●
Deserialisierung meint das Laden von persistenten
Objekten!
Java stellt eine Klasse zum Deserialisieren von Objekten zur
Verfügung:
●
●
Stefan Szalowski
Klasse java.io.ObjectInputStream
z.B. Methode Object readObject()
Programmierung II
De-/Serialisierung
Format der gespeicherten Daten
●
Superklasse von ObjectOutputStream ist
java.io.OutputStream
●
OutputStream ist ein Byte-Stream. Was heißt das?
●
Beispiel-Programme
Stefan Szalowski
Programmierung II
De-/Serialisierung
Herunterladen