ObjektStrom mit Klasse Widget

Diskutiere ObjektStrom mit Klasse Widget im Java Basics - Anfänger-Themen Bereich.
D

DanielaLima

Halle allerseits,

ich bearbeite gerade Altklausuren und bin dabei auf folgende Frage gestoßen:

"Eine "Klasse Widget soll in einem Objektstrom gespeichert werden. Welche Bedingung muss diese Klasse erfüllen?"

Habt ihr eine Idee, was hier gemacht werden müsste? Bitte keine Lösung, sondern nur Hinweise, gerne auch Literatur etc.

Danke!!!

LG
 
J

JustNobody

Dann überlege Dir einfach einmal, was ein "Objektstrom" ist. Steckt dahinter evtl. eine bekannte Klasse?
Wenn das der Fall ist, dann könnte man sich die Klasse einmal im Detail ansehen.
 
H

httpdigest

Er meint damit, dass eigentlich in jeder Programmiersprache und jeder Standardlibrary ausschliesslich englische Begriffe für alles mögliche (Module, Pakete, Klassen, Eigenschaften von Klassen, Methoden/Funktionen, Dokumentation, ...) verwendet werden und niemals deutsche Begriffe.
Deswegen sind Übersetzungen solcher englischer Begriffe ins Deutsche meist eher verwirrend als unterstützend.
Das beste, was man als Programmierer tun kannst, bevor man mit Programmieren anfängt: Englisch lernen.
 
J

JustNobody

was genau meinst du damit?
Es finden sich halt in der Regel immer englische Begriffe. Wenn man also z.B. im Java Framework schaut, dann gibt es Object und nicht Objekt. Oder File und nicht Datei. Also alles auf Englisch.

Objektstrom - das dürfte sich auf zwei Klassen beziehen, die einmal die Eingabe und zum anderen die Ausgabe durchführen. Die Eingabe ist aber uninteressant - denn da werden die Instanzen gelesen, die geschrieben wurden. Da werden sich also in der Regel die Bedingungen nicht finden. Aber die Ausgabe schreibt Objekte. Also wenn Du die Klasse für die Ausgabe eines Objektstromes kennen solltest, so solltest Du dir Dokumentation lesen können. Und da sollten dann auch die Voraussetzungen dokumentiert sein.
 
D

DanielaLima

Dann überlege Dir einfach einmal, was ein "Objektstrom" ist. Steckt dahinter evtl. eine bekannte Klasse?
Wenn das der Fall ist, dann könnte man sich die Klasse einmal im Detail ansehen.
Bin noch nicht ganz fit in dieser Thematik, aber es gibt ja die Klasse ObjectStreamClass. Ich gehe mal davon aus, dass ich diese dafür verwenden könnte/müsste.
 
T

thecain

Würde ich im Kontext mit der Fragestellung auch davon ausgehen.
 
J

JustNobody

Fast. Wenn man sich anschaut, was es so an Streams gibt, dann stellt man fest, dass es generell eine Unterteilung in InputStream und OutputStream gibt. Somit gibt es dann auch ObjectInputStream und ObjectOutputStream.

Und da ich ja schon gesagt habe, dass man wohl eher bei der Ausgabe die Restriktionen findet, wird ObjectOutputStream die Klasse sein, dessen Dokumentation man sich ansehen sollte:
https://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html (Wäre die Doku aus dem JDK 7)

Das wäre also mein Anlaufpunkt, um die Frage zu beantworten.
 
D

DanielaLima

Fast. Wenn man sich anschaut, was es so an Streams gibt, dann stellt man fest, dass es generell eine Unterteilung in InputStream und OutputStream gibt. Somit gibt es dann auch ObjectInputStream und ObjectOutputStream.

Und da ich ja schon gesagt habe, dass man wohl eher bei der Ausgabe die Restriktionen findet, wird ObjectOutputStream die Klasse sein, dessen Dokumentation man sich ansehen sollte:
https://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html (Wäre die Doku aus dem JDK 7)

Das wäre also mein Anlaufpunkt, um die Frage zu beantworten.
ok, schau ich mir gleich mal an. danke
 
D

DanielaLima

und zum zweiten teil denke ich, dass die KLasse "widget" Serializable implementieren muss. Ich denke, dass das damit gemeint sein könnte?
 
J

JustNobody

Ach ja - nur ganz am Rande: Wenn man es ganz in der Tiefe wissen möchte, dann gibt es die Java Object Serialization Specification: https://docs.oracle.com/javase/10/docs/specs/serialization/index.html
Aber gas geht deutlich zu sehr in die Tiefe und ich würde das @DanielaLima nicht empfehlen zu lesen. Aber da würde auch die ObjectStreamClass erläutert und so, denn die gehört da natürlich auch noch etwas mit rein. Aber das sind Internas, die hier erst einmal nicht wichtig sind.

und zum zweiten teil denke ich, dass die KLasse "widget" Serializable implementieren muss. Ich denke, dass das damit gemeint sein könnte?
Ja genau. Die wichtige Aussage diesbezüglich ist: "Only objects that support the java.io.Serializable interface can be written to streams."
 
D

DanielaLima

Ach ja - nur ganz am Rande: Wenn man es ganz in der Tiefe wissen möchte, dann gibt es die Java Object Serialization Specification: https://docs.oracle.com/javase/10/docs/specs/serialization/index.html
Aber gas geht deutlich zu sehr in die Tiefe und ich würde das @DanielaLima nicht empfehlen zu lesen. Aber da würde auch die ObjectStreamClass erläutert und so, denn die gehört da natürlich auch noch etwas mit rein. Aber das sind Internas, die hier erst einmal nicht wichtig sind.


Ja genau. Die wichtige Aussage diesbezüglich ist: "Only objects that support the java.io.Serializable interface can be written to streams."
ja, ich stehe noch relativ am anfang und mit auch nicht grad der schnelllste lerner. das ganze interessiert mich sehr, aber ich brauch leider ewig zum verstehen.

danke euch, jetzt les ich mich mal rein :)
 
mihe7

mihe7

aber ich brauch leider ewig zum verstehen.
Also, wenn ich mir den Thread hier ansehe, würde ich das nicht behaupten. Wenn Du auch nach 500 Erklärungen noch nicht verstanden hast, dass ObjectOutputStream ein Stream für die Ausgabe von Objekten ist, dann reden wir weiter :)

das ganze interessiert mich sehr,
Das ganze ist sehr einfach. Objekte haben Zustand und Verhalten. Der Zustand gleichartiger Objekte wird in Java mittels Klassen durch Attribute beschrieben, das Verhalten dagegen in Form von Methoden.

Zwei Objekte der gleichen Klasse unterscheiden sich also weder in ihren Methoden noch in ihren Attributen, sondern in ihren Attributwerten (und ihrer Identität, aber das ist ein anderes Thema).

Um nun ein "Objekt" auf den Datenträger zu schreiben, genügt es folglich (vereinfacht), die Attributwerte zu schreiben. Ein serialisiertes Objekt ist also kein Objekt mehr, sondern einfach eine Folge von Daten.

In Java hat man seinerseits einen Mechanismus eingebaut, der es erlaubt, Objekte zu serialisieren und die serialisierte Form wieder einzulesen, um Objekte zu erhalten. Dazu muss die Klasse das Interface java.io.Serializable implementieren. Mit einem ObjectOutputStream lassen sich nun derartige Objekte in serialisierter Form in einen Stream schreiben, mit einem ObjectInputStream können serialisierte Objekte wieder eingelesen werden.
 
Thema: 

ObjektStrom mit Klasse Widget

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben