08. januar 2003 - 15:47Der 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.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
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.
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?
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.
Synes godt om
Ny brugerNybegynder
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.