Avatar billede riversen Nybegynder
08. januar 2003 - 15:47 Der er 2 kommentarer og
1 løsning

Cloneable og Serializable

Jeg tror måske jeg er nogenlunde med på det, men hvorfor er det lige man har interesse i at et objekt skal implementere Cloneable for at kunne klones og Serializable for at kunne serialiseres...der er jo som bekendt ingen metoder.
Avatar billede carstenknudsen Nybegynder
08. januar 2003 - 15:52 #1
Serializable: så kan du smide et objekt til en
fil/stream og genskabe den den anden vej. At der
ingen metoder er har ingen betydning, der er tale
om et såkaldt marker interface der har semantisk
betydning men ikke syntaktisk betydning.
Cloneable: igen et marker interface som man skal
implementer for at kunne klone et objekt; i din
klasse ændrer du den oprindelige definition
af metoden fra Object: protected Object clone()
til public Object clone() og implementerer den.
I begge tilfælde er der altså tale om marker
interfaces der signalerer en vigtig egenskab
ved klassen.
Avatar billede riversen Nybegynder
08. januar 2003 - 15:56 #2
carsten: jeg ved godt det er markeringsinterface men hvad er lige ideen med det. Hvorfor kan alle objekter ikke bare klones eller serialiseres?...det kan de jo alligevel hvis man arbejder for det (implementerer interfacet :-))...eller kan man ikke?
Avatar billede carstenknudsen Nybegynder
08. januar 2003 - 16:00 #3
Det er sådan JVM behandler dem, f.eks. kunne du tænke dig en
klasse der indeholdt følsom information, som du ikke ønskede
skulle kunne smides til en disk og efterfølgende analyseres.
Det er for at beskytte os! I nogle tilfælde vil det heller
ikke give mening at klone et objekt pga den information det
indeholder, og igen beskyttes vi. Vi skal gøre, nemlig
implementere et interface for at få tingene gjort for os,
så garanterer vi dermed at det giver mening/er fornuftigt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester