Juste pour info:
A quoi servent les Interfaces de marquage?
Si possible, me donner es exemples concret d'utilisation.
Merci.
Juste pour info:
A quoi servent les Interfaces de marquage?
Si possible, me donner es exemples concret d'utilisation.
Merci.
Ces interfaces ne servent à rien , mais juste pour préciser qu'un object rentre dans certaines conditions.
Dans le cas de la sérialization des objets, la classe ObjectOutputStream...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (altobj != null && ! (altobj instanceof Serializable)) { String clname = altobj.getClass().getName(); throw new NotSerializableException(clname); }
Regle generale : une interface sert principalement a definir un type auquel on peut optionnellement attacher des signatures de methodes ou des constantes. Une interface ne definie pas un comportement, en effet il n'est pas possible de mettre du code dans une interface.
Pour definir un comportement generique, il faut utiliser une classe abstraites.
=> la methode clone() peut etre uniquement appelee sur des objets de type Cloneable. La serialisation peut uniquement s'effectuer sur des objets de type Serializable.
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Petite question au sujet de clone():Envoyé par bouye
pourquoi peut-on définir une methode clone() du genre:
...Et si c'est pas bien, pourquoi?...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public Object clone() throws CloneNotSupportedException {...}
Salut,
Pourquoi ne pourrait-on pas définir une tel méthode ???Envoyé par mysteriousFreak
Pourquoi cela ne serait-il pas bien ???Envoyé par mysteriousFreak
Un peu plus de détail sur ta question serait peut-être utilise...
a++
...Je voulais dire sans implémenter l'interface CloneableEnvoyé par adiGuba
Bon, ok, on peut définir une methode quelconque, là-dessus OK, mais en fait il me semblait que normalement on ne définissait cette methode qu'en implémentant l'interface Cloneable... du moins pour faire des choses propres, d'autant que d'apres la Javadoc:
"Invoking Object's clone method on an instance that does not implement the Cloneable interface results in the exception CloneNotSupportedException being thrown."
J'ai vu ce genre de trucs (clone() sans Cloneable), ça semble marcher, mais je trouve ça un peu étrange vu la Javadoc...
Je voulais dire sans l'interface Cloneable, c'est pas très propre il me semble... non?...Envoyé par adiGuba
PS: t'as raison, c'était quand meme pas très clair ma question, désolé, j'éspère que c'est mieux cette fois-ci
Partager