>Comme deja dit, tu dois utilise la method clone, mais ton object doit >implementer l'interface Clonable ! >Cela pose un probleme, lorsque tu tiens un reference d'un object qui >implement Clonable sous un forme plus generic comme Object, >le compilo ne te laisse pas appeler la fonction vu quelle est protectd ! >Pour cela j'ai une solution via l'introspection !
L'id�e de clone, c'est que comme tu es dans ton objet, tu sais quels sont les types de tes diff�rentes sous-parties. Et par cons�quent, tu n'es jamais oblig� de passer par Object. D'ailleurs, tous les objets non Copyable dont tu disposes sont probablement recr��s lors d'un clone, pusiqu'ils doivent balancer une CloneNotSupportedException. Par cons�quent, j'estime (� priori, bien s�r), que devoir utiliser l'introspection pour cloner des Object n'est pas une bonne id�e. >Mais le clone, ne fait qu'une copie shadow, pour faire un copie deep, de >maniere generique tu peux utiliser la serialisation ! Ca d�pend comment tu t'en sers. le clone, comme equals, est une m�thode qu'il vaut mieux surcharger, pour en ma�triser le fonctionnement. Et dans ce cas, libre � toi de faire ton clone comme tu l'entends. >Si non, creer comme en C++ un contructeur de copie ! Quelqu'un rappelait que le constructeur de copie n'�tait pas Java, pour la bonne raison qu'on perd, dans le cas du constructeur de copie, l'h�ritage qui est conserv� avec le clone. > >Si cela t'interesse, je peux te fournir des exmples pour les deux cas ! > >Dominique > -- Nicolas Delsaux "Ia d�mocratie est la pire des dictatures parce qu'elle est la dictature exerc�e par le plus grand nombre sur la minorit�." Pierre Desproges
