Je cherche a savoir si une instance d'objet correspond à un type de classe
et me demande si l'instruction instanceof est bien la meilleure solution
pour ce type de condition ?
Merci d'avance à tous pour vos avis, commentaires, ... et remarques
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jerome moliere
Bernard Koninckx wrote:
Bonjour à tous,
Je cherche a savoir si une instance d'objet correspond à un type de classe et me demande si l'instruction instanceof est bien la meilleure solution pour ce type de condition ?
grammaticalement oui...
il y a d'autres methodes , plus rapides etc.. mais c'est l'idee (isssignableFrom notamment) mais conceptuellement: generalement NON!!! l'idée de faire des choses: Object obj =... if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture avec instanceof (qu irevient au même) est à déconseillé dans 99,99% des cas... motif:pauvreté de la conception pas tres objet tout cela...
voilà Jerome
Merci d'avance à tous pour vos avis, commentaires, ... et remarques
-- Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003 http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Bernard Koninckx wrote:
Bonjour à tous,
Je cherche a savoir si une instance d'objet correspond à un type de classe
et me demande si l'instruction instanceof est bien la meilleure solution
pour ce type de condition ?
grammaticalement oui...
il y a d'autres methodes , plus rapides etc..
mais c'est l'idee (isssignableFrom notamment)
mais conceptuellement: generalement NON!!!
l'idée de faire des choses:
Object obj =...
if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture
avec instanceof (qu irevient au même)
est à déconseillé dans 99,99% des cas...
motif:pauvreté de la conception
pas tres objet tout cela...
voilà
Jerome
Merci d'avance à tous pour vos avis, commentaires, ... et remarques
--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Je cherche a savoir si une instance d'objet correspond à un type de classe et me demande si l'instruction instanceof est bien la meilleure solution pour ce type de condition ?
grammaticalement oui...
il y a d'autres methodes , plus rapides etc.. mais c'est l'idee (isssignableFrom notamment) mais conceptuellement: generalement NON!!! l'idée de faire des choses: Object obj =... if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture avec instanceof (qu irevient au même) est à déconseillé dans 99,99% des cas... motif:pauvreté de la conception pas tres objet tout cela...
voilà Jerome
Merci d'avance à tous pour vos avis, commentaires, ... et remarques
-- Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003 http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Nicolas Delsaux
Le 14 avr. 2004, jerome moliere s'est levé(e) et s'est dit "tiens, si j'écrivais aux mecs de fr.comp.lang.java"
grammaticalement oui... il y a d'autres methodes , plus rapides etc.. mais c'est l'idee (isssignableFrom notamment) mais conceptuellement: generalement NON!!! l'idée de faire des choses: Object obj =... if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture avec instanceof (qu irevient au même) est à déconseillé dans 99,99% des cas... motif:pauvreté de la conception pas tres objet tout cela...
Toujours aussi didactique, Mr Molière ;-) Là, notre brave Bernard se demande ce qu'il a bien pu faire pour mériter tout ça. En fait, si instanceof est une si mauvaise idée, c'est parce qu'il brise l'importante notion objet d'encapsulation : si on sait qu'un objet est de la classe Toto, alors on peut lui faire ça. Par expérience, on se rend compte que, dans la plupart des cas, le instanceof devrait être remplacé par une interface qui, malheureusement, n'a pas été codée. A bon entendeur ..
voilà Jerome
-- Nicolas Delsaux "Il n'est pas logique de craindre la douleur. Il est uniquement logique de craindre les dommages qui engendrent la douleur." Parade nuptiale - Donald Kingsbury
Le 14 avr. 2004, jerome moliere s'est levé(e) et s'est dit "tiens, si
j'écrivais aux mecs de fr.comp.lang.java"
grammaticalement oui...
il y a d'autres methodes , plus rapides etc..
mais c'est l'idee (isssignableFrom notamment)
mais conceptuellement: generalement NON!!!
l'idée de faire des choses:
Object obj =...
if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture
avec instanceof (qu irevient au même)
est à déconseillé dans 99,99% des cas...
motif:pauvreté de la conception
pas tres objet tout cela...
Toujours aussi didactique, Mr Molière ;-)
Là, notre brave Bernard se demande ce qu'il a bien pu faire pour mériter
tout ça.
En fait, si instanceof est une si mauvaise idée, c'est parce qu'il brise
l'importante notion objet d'encapsulation : si on sait qu'un objet est de
la classe Toto, alors on peut lui faire ça.
Par expérience, on se rend compte que, dans la plupart des cas, le
instanceof devrait être remplacé par une interface qui, malheureusement,
n'a pas été codée.
A bon entendeur ..
voilà
Jerome
--
Nicolas Delsaux
"Il n'est pas logique de craindre la douleur. Il est uniquement logique de
craindre les dommages qui engendrent la douleur."
Parade nuptiale - Donald Kingsbury
Le 14 avr. 2004, jerome moliere s'est levé(e) et s'est dit "tiens, si j'écrivais aux mecs de fr.comp.lang.java"
grammaticalement oui... il y a d'autres methodes , plus rapides etc.. mais c'est l'idee (isssignableFrom notamment) mais conceptuellement: generalement NON!!! l'idée de faire des choses: Object obj =... if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture avec instanceof (qu irevient au même) est à déconseillé dans 99,99% des cas... motif:pauvreté de la conception pas tres objet tout cela...
Toujours aussi didactique, Mr Molière ;-) Là, notre brave Bernard se demande ce qu'il a bien pu faire pour mériter tout ça. En fait, si instanceof est une si mauvaise idée, c'est parce qu'il brise l'importante notion objet d'encapsulation : si on sait qu'un objet est de la classe Toto, alors on peut lui faire ça. Par expérience, on se rend compte que, dans la plupart des cas, le instanceof devrait être remplacé par une interface qui, malheureusement, n'a pas été codée. A bon entendeur ..
voilà Jerome
-- Nicolas Delsaux "Il n'est pas logique de craindre la douleur. Il est uniquement logique de craindre les dommages qui engendrent la douleur." Parade nuptiale - Donald Kingsbury
Laurent Nel
Bonjour,
En fait, si instanceof est une si mauvaise idée, c'est parce qu'il brise l'importante notion objet d'encapsulation : si on sait qu'un objet est de la classe Toto, alors on peut lui faire ça.
Je vois plutôt l'usage abusif de instanceof comme une non-utilisation du polymorphisme et donc peut-être une mauvaise compréhension de ce mécanisme. Cad qu'on a besoin de tester le type de l'objet pour lui appliquer un traitement, ce qui est naturellement fait par un polymorphisme bien utilisé, notamment par l'emploi d'interfaces.
En fait, si instanceof est une si mauvaise idée, c'est parce qu'il brise
l'importante notion objet d'encapsulation : si on sait qu'un objet est de
la classe Toto, alors on peut lui faire ça.
Je vois plutôt l'usage abusif de instanceof comme une non-utilisation du
polymorphisme et donc peut-être une mauvaise compréhension de ce mécanisme.
Cad qu'on a besoin de tester le type de l'objet pour lui appliquer un
traitement, ce qui est naturellement fait par un polymorphisme bien utilisé,
notamment par l'emploi d'interfaces.
En fait, si instanceof est une si mauvaise idée, c'est parce qu'il brise l'importante notion objet d'encapsulation : si on sait qu'un objet est de la classe Toto, alors on peut lui faire ça.
Je vois plutôt l'usage abusif de instanceof comme une non-utilisation du polymorphisme et donc peut-être une mauvaise compréhension de ce mécanisme. Cad qu'on a besoin de tester le type de l'objet pour lui appliquer un traitement, ce qui est naturellement fait par un polymorphisme bien utilisé, notamment par l'emploi d'interfaces.
mais conceptuellement: generalement NON!!! l'idée de faire des choses: Object obj =... if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture avec instanceof (qu irevient au même) est à déconseillé dans 99,99% des cas... motif:pauvreté de la conception pas tres objet tout cela...
Je ferais plus de instanceof, le jour où j'aurais plus besoin de faire de cast. Et je ferais plus de cast, le jour où les collections du JDK renverront autre chose que des Object.
=)
Hein, c'est prévu dans le 1.5 ? Chouette, vive les template, alors !
Enfin, on verra...
-- Orabîg
jerome moliere wrote:
(...)
mais conceptuellement: generalement NON!!!
l'idée de faire des choses:
Object obj =...
if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture
avec instanceof (qu irevient au même)
est à déconseillé dans 99,99% des cas...
motif:pauvreté de la conception
pas tres objet tout cela...
Je ferais plus de instanceof, le jour où j'aurais plus besoin de faire de
cast.
Et je ferais plus de cast, le jour où les collections du JDK renverront
autre chose que des Object.
=)
Hein, c'est prévu dans le 1.5 ? Chouette, vive les template, alors !
mais conceptuellement: generalement NON!!! l'idée de faire des choses: Object obj =... if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture avec instanceof (qu irevient au même) est à déconseillé dans 99,99% des cas... motif:pauvreté de la conception pas tres objet tout cela...
Je ferais plus de instanceof, le jour où j'aurais plus besoin de faire de cast. Et je ferais plus de cast, le jour où les collections du JDK renverront autre chose que des Object.
=)
Hein, c'est prévu dans le 1.5 ? Chouette, vive les template, alors !
Enfin, on verra...
-- Orabîg
captainpaf
"Benoît Chauvet" a écrit dans le message de news: c5m6c3$285$
jerome moliere wrote: (...)
mais conceptuellement: generalement NON!!! l'idée de faire des choses: Object obj =... if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture avec instanceof (qu irevient au même) est à déconseillé dans 99,99% des cas... motif:pauvreté de la conception pas tres objet tout cela...
Je ferais plus de instanceof, le jour où j'aurais plus besoin de faire de cast. Et je ferais plus de cast, le jour où les collections du JDK renverront autre chose que des Object.
=)
Hein, c'est prévu dans le 1.5 ? Chouette, vive les template, alors !
Enfin, on verra...
-- Orabîg
Alors là je vois pas du tout le rapport. Généralement tu sais quel type
d'objet tu mets dans ta collections, je ne vois donc pas du tout quel mal il y a à les caster. Et une collection par définition doit (ou du moins devrait) renfermer le même type (ou super type) d'objets. La majeur partie du temps, si tu as définis correctement tes interfaces (ok ce n'est pas toujours le plus simple), tu n'as pas à utiliser instanceof.
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.656 / Virus Database: 421 - Release Date: 09/04/2004
"Benoît Chauvet" <chauvet@benoit.echanger_nom_et_prenom.com> a écrit dans le
message de news: c5m6c3$285$1@news.tiscali.fr...
jerome moliere wrote:
(...)
mais conceptuellement: generalement NON!!!
l'idée de faire des choses:
Object obj =...
if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture
avec instanceof (qu irevient au même)
est à déconseillé dans 99,99% des cas...
motif:pauvreté de la conception
pas tres objet tout cela...
Je ferais plus de instanceof, le jour où j'aurais plus besoin de faire de
cast.
Et je ferais plus de cast, le jour où les collections du JDK renverront
autre chose que des Object.
=)
Hein, c'est prévu dans le 1.5 ? Chouette, vive les template, alors !
Enfin, on verra...
--
Orabîg
Alors là je vois pas du tout le rapport. Généralement tu sais quel type
d'objet tu mets dans ta collections, je ne vois donc pas du tout quel mal il
y a à les caster. Et une collection par définition doit (ou du moins
devrait) renfermer le même type (ou super type) d'objets.
La majeur partie du temps, si tu as définis correctement tes interfaces (ok
ce n'est pas toujours le plus simple), tu n'as pas à utiliser instanceof.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.656 / Virus Database: 421 - Release Date: 09/04/2004
"Benoît Chauvet" a écrit dans le message de news: c5m6c3$285$
jerome moliere wrote: (...)
mais conceptuellement: generalement NON!!! l'idée de faire des choses: Object obj =... if( obj.getClass().isAssignableFrom(Foo.class)) ou une autre criture avec instanceof (qu irevient au même) est à déconseillé dans 99,99% des cas... motif:pauvreté de la conception pas tres objet tout cela...
Je ferais plus de instanceof, le jour où j'aurais plus besoin de faire de cast. Et je ferais plus de cast, le jour où les collections du JDK renverront autre chose que des Object.
=)
Hein, c'est prévu dans le 1.5 ? Chouette, vive les template, alors !
Enfin, on verra...
-- Orabîg
Alors là je vois pas du tout le rapport. Généralement tu sais quel type
d'objet tu mets dans ta collections, je ne vois donc pas du tout quel mal il y a à les caster. Et une collection par définition doit (ou du moins devrait) renfermer le même type (ou super type) d'objets. La majeur partie du temps, si tu as définis correctement tes interfaces (ok ce n'est pas toujours le plus simple), tu n'as pas à utiliser instanceof.
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.656 / Virus Database: 421 - Release Date: 09/04/2004
Bernard Koninckx
Bonjour,
j'ai lu vos réponses et souhaite savoir quelles sont vos suggestions quant à l'utilisaton d'interface dont la plupart d'entre vous parlent. Je souhaite également savoir votre avis sur la méthode objet (de bonnes sources, livres, adresses, ...)
Merci à tous d'avance pour votre collaboration.
Bernard "Bernard Koninckx" a écrit dans le message de news: 407d67a8$0$311$
Bonjour à tous,
Je cherche a savoir si une instance d'objet correspond à un type de classe et me demande si l'instruction instanceof est bien la meilleure solution pour ce type de condition ?
Merci d'avance à tous pour vos avis, commentaires, ... et remarques
Bernard
Bonjour,
j'ai lu vos réponses et souhaite savoir quelles sont vos suggestions quant à
l'utilisaton d'interface dont la plupart d'entre vous parlent. Je souhaite
également savoir votre avis sur la méthode objet (de bonnes sources, livres,
adresses, ...)
Merci à tous d'avance pour votre collaboration.
Bernard
"Bernard Koninckx" <koninckxbernard@excite.com> a écrit dans le message de
news: 407d67a8$0$311$a0ced6e1@news.skynet.be...
Bonjour à tous,
Je cherche a savoir si une instance d'objet correspond à un type de classe
et me demande si l'instruction instanceof est bien la meilleure solution
pour ce type de condition ?
Merci d'avance à tous pour vos avis, commentaires, ... et remarques
j'ai lu vos réponses et souhaite savoir quelles sont vos suggestions quant à l'utilisaton d'interface dont la plupart d'entre vous parlent. Je souhaite également savoir votre avis sur la méthode objet (de bonnes sources, livres, adresses, ...)
Merci à tous d'avance pour votre collaboration.
Bernard "Bernard Koninckx" a écrit dans le message de news: 407d67a8$0$311$
Bonjour à tous,
Je cherche a savoir si une instance d'objet correspond à un type de classe et me demande si l'instruction instanceof est bien la meilleure solution pour ce type de condition ?
Merci d'avance à tous pour vos avis, commentaires, ... et remarques