Herve AGNOUX
Tue, 03 Dec 2002 05:02:39 -0800
Le Mardi 3 Décembre 2002 09:46, Dominique Gallot a écrit :
>
> Ce que je ne comprends pas c'est pourquoi, l'interface Clonnable ne
> contiens pas la methode Clone. Car grace a cela il aurait ete possible de
> cloner des objects de façon generique !
>
De mémoire, Sun ne voulait pas que l'on puisse faire des clones de façon
générique, tout en fournissant tout de même une façon générique de le faire.
(tu suis ?...)
La première contrainte est là pour couvrir des risques de sécurité. Il se peut
que des objets manipulent des informations sensibles, et qu'il ne faille pas
les cloner à tord et à travers. C'est pour cela 1) que la méthode clone est
protected, 2) qu'il faille implementer l'interface Cloneable si on accepte de
se faire cloner.
La deuxième contrainte est remplie par la méthode clone de Object.
Pour une façon générique, voici un modèle :
SI l'objet concrétise l'interface Cloneable
SI la méthode clone est publique
Faire le clone;
C'est peut être un peu tiré par les cheveux...
Si j'ai bien compris, cela va s'améliorer un petit peu ; avec les trucs
génériques on ne sera peut être plus obligé de faire un cast à chaque clone,
ce qui ajoutait encore au coté laborieux. Espérons.
Dans la librairie Common ou assimilé de jakarta il y a des paquages pour faire
des clones comme tu veux dans tous les sens que tu veux. A tester. Tiens nous
au courant.
A+.
--
SARL diaam informatique - 04 50 77 12 60
Ingenierie, développements de systèmes d'information
http://www.diaam-informatique.com