Lecture overview -- Keyboard shortcut: 'u'  Previous page: Interfaces i Java Core API: Cloneable -- Keyboard shortcut: 'p'  Next page: Interfaces i forhold til abstrakte klasser -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 23 : 26
Forelæsningsnoter i Objekt-orienteret Programmering
Design af klassehierarkier
Interfaces i Java Core API: Serializable

Interfacet Serializable fra pakken java.io formidler 'letvægts persistens' af objekter i Java. Med termen 'letvægts persistens' hentyder vi til forskellen mellem faciliteten beskrevet her og en egentlig database løsning, som mere direkte er i stand til at lagre persistente objekter (en objekt-orienteret database)

En klasse C som implementerer interfacet Serializable 'signalerer' at objekter af typen C kan 'lineariseres' til et format, som tillader os at gemme objektet i en fil, eller lignende

Persistent lagring af et objekt O kan afstedkomme lagring af andre objekter, som er refereret af O

Interfacet Serializable er tomt

/user/normark/courses/prog1/prog1-01/sources/java/microbib-applications/Creator.javaEt programfragment som gemmer et objektnetværk på en binær fil.

Et programfragment som gemmer et objektnetværk på en binær fil. Det viste programfragment udskriver et array objekt literatureShelf, som er en instans af klassen LiteratureCollection (tidligere diskuteret i denne lektion).

/user/normark/courses/prog1/prog1-01/sources/java/microbib-applications/Searcher.javaEt programfragment som reetablerer et objektnetværk fra en binær fil.

Et programfragment som reetablerer et objektnetværk fra en binær fil. Dette programfragment indlæser objekterne, som blev udskrevet af programfragmentet vist ovenfor.

  • Muligheder omkring objekt serialisering:

    • Instansvariable som er mærket med modifieren 'transient' bliver ikke skrevet på filen

    • Det er muligt for en klasse at overskrive default serialisering og de-serialisering ved at implementere metoderne writeObject og readObject