[Playlisten] [Impressum und Datenschutzerklärung]

07.3 Objektserialisierung


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

jetzt zu der dritten Art mit Dateien zu gehen und das ist eigentlich diedickste Artdie erste Art warich lade die auf ein Datum schreiben die auf einen Schlagdie zweite Art warich arbeite mit James Das heißt eigentlich byteweiseohne wahlfreien Zugriffund die Schicksalsdie modernen Sprachennennt sich Serialisierungich sage einfachmeinem Objektschreib ich mal weg auf FestplatteDurchsage der Klassenach doch mal Objekt von der Festplatte ganz blödähm das heißt diese Funktion wissen was über ObjektedieserJeans hierwissen nichts über Objekte die können die StandardDateitypenschreiben mit dem meine ?? weiter und im Wanderweg wiederaneinigen stimmt sogar nur Bytes schreiben das heißt die wissen wirklich nichts über ihre Klassenund schier die eingebauten Funktionendie Dateien schreiben dicken Texte und dicken BinärdatenFolge von Bytes und das war's dann keiner weiß was wir Klassenbitte Serialisierunges so schön heißtsehr realistischenArmbaut man das Wissen um die Klassenklassenkönnen sich dann selbst lesen und schreibendas gehörte Wissen einfach von selbst wie das geht wissen was drin steht in Sommerdateivier Serialisierungvon ?? wichtig istin den üblichen Sprachen zu finden in C plus plusmit ?? mit einschlägigenZusatzbibliothekenim Jahr warten sie scharf ist daseingebautsiedie Punktnunals Objekte wissen oder Klassen wissen wie sie dennauf Festplatte landenauf dem Land und von der Festplatte wieder zurückkehrenSerialisierungwegen diesessequenziellen Zugriffsein Objekt wird sie realisiertes wird in eine Folge vonBytes eine Serie von Bytes erledigtdas Schreiben das rausschreibenist eine serialisierengenauer gesagt eben ein Objekt in eine Folge von Bytes zu zerlegen ist das serialisierendas umgekehrt ist das deserialisierennie meine Frau kann Bytes Bau wieder ein echtes lebendiges Objektdas hört sich grausam an ist abertotal banal zu machen?? ich brauche mal eine Klasse eins in der Lage sein sollohne weiteres Zutun auf der Festplatte zu landennennen wir sie also für Text KommaWeg für den Lückentextelf??Class ABChabendas schreibe ich jetzt irgendwas aberwitziges rein das allein in der Chat drin sein der heißt war und es soll eindouble drin sein als dienunbei den beidensie können auchInstanzenanderer Klassen hier referenzierensie können mir Listen drin habenziemlich finstere Geschichtenund trotzdem funktioniert das bei diesem Beispielmöchte das diese Klasse in der Lage istsich auf die Festplatte zu schreiben und von der Festplatte gelesen zu werden Einzelinstanzensollenauf die Festplatte lang auf der Festplatte landen ?? oder sonst wo lang können als Dateienhierzu gelesen werden kann die einzige ZutatSie brauchen ist folgendesSchreiben in eckigen Klammern Drüberzielgeleistet Punktdas ist ein Hinweisan denCompilerbesser das wirklich zulassen solles wäre sonst bisschen unsicher wenn man jede Klasse auch von fremden Leutenjede Klasse auch von fremden Leuten einfach selbst auf die Festplatte schreiben könntewenn das eine ziemlich dicke SicherheitslückeHerrn allein schon aus dem Grund muss das hier?? spezielledas Zertifizierung??ersetzen war sie hier eine Anmerkungan die Klasse dran dass diese realisierbarist und das System sorgtfür den Restdas dann auch immer vor wie das dann aussieht?? ich möchtesind wir immer noch ?? Text elfeine neues ein neues Objekt davon bauenABCreißensie seitlich heißensie ein neues Objekt davonamjetzt brauche ich einen derThai Strom in den das ganze nachher landetdeshalb nur eben schonseit ?? den normalen??und jetzt gibt's einfach wieder eineein eine Hilfeeine Hilfsklassedie darüber sitzt ebenhatten wir denProvider und den Beinen ?? weiter als Hilfsklassen über dem Fallsdas umzusetzender Skizze wieder nicht ?? Klasse die darüber sitztin diversenTraumataFormatiererwie man jetzt die Daten der drittenformatiert sah in diesem Fall nehme ich einen Zopf arbeite und ich denke ich muss da noch Modell einbindenin der jetzt nämlich nichthierverweise?? Verweis hinzufügensowie im Skriptzusammen timesselbealler sechzehn Formen das sodenBestandteil der KlassenbibliothekdazuPunktdamit es ganz überschaubar bleibthier noch für die Nummerelf?? you sehen?? Music dazusicher nicht mit dem Programm Code stehen haben lassen Browsern ausMunitionweiter?? ich brauche den neunZauberformelderSFder sollneu gebaut werdenzuähmoffensichtlich geht dasohne weiteresjetzt kann ich einfach sagendiesem Songformweitersagener mögezwar in meinenStream was auch immer das einfangen eines Teams habenin meinen Stream Falls ich genanntmein ObjektABCso sieht das ausdieser ?? der Klasse sie ist realisierbaramrechten ein Filesystemein oder sonst ein Spam in den geschrieben das ganze geschrieben werden sollein V mit diesem farbigen Sofagenommen es gibt noch andere Service Abkürzungenund Seife zu tunhabenso vermehrte Abstimmung damit sie mich in Klartext und ich sage dem Sofa mit er möge sie realisierennämlich in diesem Dateistromdieses Objekter mir fällt gerade auf das die Subjekten bisschen blödsinnig es war so leer ist weshalb ?? hier mal in ?? gleichdreizehn und darüber B Gleichzeichen vierzig Komma null das ein bisschen mehr passiertjetztmüsstein Test TXTdie binäre Formvon diesem Objekt stehtdasteht die binäre Form von dem Objekt sind es jetzt sinnvoller Glorie ?? XML kann man ja schon aus Sammelbeschreibungschon um ?? zurück wendet sich an dieserBeschreibung hier erinnern Sie das stetswie die Oberfläche zusammengesetztsein sollhätte gerne ein wird darin ein Button und so weitergenau dieselbe Machart jetzt aber für unsere eigene Klassen verwendetunserer einen KlasseTyp ABCes gibt die Variable ADis dreizehn und es gibt variable Babys zwoundvierzig steht direkt im Klartext denn das könnte sogar editierenund Nachahmensdingeingelesen wird wenn die neuen Werte Punktdas geht auch binär ?? derKlartext ?? ist dasextrem hilfreich zum Debugger das wirklich weiß was in diesen Dateien drin steht oder reingehen kann und bei Fehler korrigieren kannzum Beispieldas Schreiben der Datei schiefgegangen ist ?? Dateiübertragungschiefgegangen ist davonnoch Fehler Kommaein binär ist nun endlich wildenZeichen da drin stehenhat manweniger Chancen das zu rettendass es was deshalb Formate ausschreibt es gibt andere die andere Sachen raus schreibendas ist das Weg schreibenund wenn ich's wieder einlesen willer natürlich Finanzvermittlernämlich Kreuz kein neunschonund rufe danndiesjähriger las aufand serialisierenwill jetzt wissen aus welchem Stromund liefert ein allgemeines Objekt zurück Voicebar wieder den Strom Leertaste sauber zu machen sich oben ist man ebenfalls?? zu machenKlausund dann für dich jetzt noch mal allenfalls schön aufmachenaber nun zum Lesenwir jetzt nichtnicht erzeugen überschreibensondern einfach nur öffnenich möchte nicht schreiben ich möchtedanndiesjährigerLaiswasserhahnwird einStreamFSWasser zurückliefert ist ein allgemeinesObjektobjektist ja die Mutterklasse für allesanich weißwas ich geschrieben habe ist nicht ein allgemeines Objekt ich weiß was ich geschrieben habe ist einDing vom Typ ABCund kann deshalb ihrKarstendas war der schwierige Teildas nicht immer erlaubtähmalsodie Mutterklasse für alles ist Objektund dann wird geehrt Gerd Gerd geerbt und irgendwoisteine andere Klasseanjede andere Klasse hängten irgendwo drin mein ABC Erb jetzt nebenbei sogar direktals keine andere Mutterklasse angegeben habewas ich nun mache istich kriege ein Objekt zurückaus dem Tod aber ich weiß eigentlichesSein ABCKasteunter ein Downcastder istgefährlichkönnte sein das ist Optik ganz was anderesrichtigEllipse ein Fensterirgendwas andersBeistrichaber ich bin mir sicher es ist einABC deshalb darf ichso dann Karstenmit später festgestellt wird bei der Ausführung des Programmsdass das doch falsch Fragezeichenexaktdas es jedenDowncastdas muss sie ausdrücklich angehenund da soll ich jetztmein Objekt ABC wieder zurück haben beziehungsweise ein Klon davon habe ich das Originalobjektseitlich gespeichertsolche ein Klo meines Originalobjektshaben in der Biologiedernächste Schritt zehndasteht tatsächlich dreizehn zwei vierzig ??in diesem Z was ichvon der Platte gelesen habe das wäre die übliche Artwie man seineDaten weg schreibt wenn man denn wirklich ordentliche Klassen hatsollte hier noch der Form halber den Strom auch wiederbis zursobaldsie eigene Sachen schreibeneigene Klassen schreibenirgendwie Sachen drin stehen ListenrahmenReferenzen auf andereObjektedas wird alles an dich mit raus geschriebenPunktsie können sogar Direktlistenvon ABC aus realisierenund sich ein Objekt habenist Komma dass hierwenn Sie hierdirekt ?? Liste übergeben von ABC Objekten auch das würde funktionieren ?? für den ?? das ist wieder eindass es Realisierung diese Realisierungunddas ist wie gesagtdie Methode der Wahl wenn manrichtig echte tolle Klassen hat die Stream sind nett wenn ich in antikes Dateiformathabedas auf einzelnenBytes dann definiert ist Komma dann weiß ?? das erste Byte sagt was überdie Breite vom Einbildung das zweite Beistrich sagt was über die Farbtiefe oder ähnliche Geschichtenkomplizierter waren demHerrn dann würde ich dies Films nehmen aber wenn ich selbst definieren kannahnen?? Dateiformat selbst definieren kann dann würde ich unbedingt hier diese Realisierung dieser Beziehungohnegroßen Aufwandzu haben ist