Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3006 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Probleme de cast

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Probleme de cast

n°1853671
elldekaa
dopa dopa !
Posté le 21-02-2009 à 02:18:19  profilanswer
 

Bonjour,
 
Je suis en train de coder differents traitements d'arbres avec le design pattern Visitor...
Mais j'ai un petit problème avec les cast :
 
J'ai une classe TreeProgram :
 

Code :
  1. public class TreeProgram extends CommonTree implements Element {
  2.   public void accept(TreeVisitor v)
  3.   {
  4.     v.visit(this);
  5.   }
  6. }


 
où l'on ajoute juste a la classe CommonTree la methode accept de l'interface Element...
 
 
et lorsque je fais :
 

Code :
  1. CommonTree t = new CommonTree();
  2. TreeProgram p = (TreeProgram) t;


 
 
 
j'ai le droit à un magnifique :
 
Exception in thread "main" java.lang.ClassCastException: org.antlr.runtime.tree.CommonTree cannot be cast to lasco.util.visitor.TreeProgram
 
 
Quelqu'un aurait une explication svp ?
merci d'avance

mood
Publicité
Posté le 21-02-2009 à 02:18:19  profilanswer
 

n°1853683
masklinn
í dag viðrar vel til loftárása
Posté le 21-02-2009 à 10:23:43  profilanswer
 

T'as rien compris à java ou à ce que fait un cast en java, retournes apprendre.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1853735
superbob56
Posté le 21-02-2009 à 12:40:38  profilanswer
 

En gros, pour faire simple, le problème est le suivant :
Dans la POO, tu peux faire le genre de trucs suivant :
1 - On considère qu'un chat est un animal (chat extends animal)
2 - On créé un chat (new chat)
3 - On utilise le chat en tant qu'animal (cast de chat en animal)
4 - On peut utiliser l'animal en tant que chat car à la base c'était déjà un chat ... (cast de animal en chat)
Toi, ce que tu essaye de faire c'est :
1' - Idem que 1
2' - On créé un animal (new animal)
3' - On utilise l'animal en tant que chat (cast de animal en chat)
 
Or 3 est incorrect dans la POO (comme dans la vraie vie) car qu'est-ce qui te dit que ton animal est effectivement un chat, mais pas plutot un chien, ou un zebre ...
Sans plus de précision ton animal est un animal et rien de plus, tu ne peux pas le considérer comme quelque chose de plus 'précis' en termes de POO sauf si à la base c'était déjà un chat, or comme tu le créé en tant qu'animal (2'), ce n'est pas possible !
J'espère que cette 'image' t'aura aidée, mais sinon, comme le dit Masklinn tu devrais sérieusement réviser tes BASES de POO et/ou de Java ...


---------------
By bob.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Probleme de cast

 

Sujets relatifs
[Résolu] Petit problème avec "rand"probleme liste deroulante Php / HTML
[JAVA] [STRUTS] Code dans l'action à executer apres validation du formcomment exécuter en java un ensemble de commande ftp
Petit probleme javascript[JAVA] Recuperer la selection d'une liste [RESOLU]
Javascript + probleme lors du chargement d'une pageProblème de formule... pourtant toute simple
Empecher d'agrandir une fenetre java.Java: Probleme de Cast
Plus de sujets relatifs à : [Java] Probleme de cast


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR