[résolu]Java:Appliquer une methode héritée sur un objet

Java:Appliquer une methode héritée sur un objet [résolu] - Java - Programmation

Marsh Posté le 08-05-2007 à 23:04:51    

:hello: Bonjour
 
J'ai un classe B qui hérite d'une classe A.
Dans une variable: v de type A j'ai parfois un objet B parfois un objet A
 
Quand je sais que j'ai un objet de type B dans la variable v je veux appliquer une méthode de classe B sauf que on me dit que qu"une variable A n' a pas de méthode.
Il y'a t'il un moyen de cpntourner cela ou dois-je redéfinir la méthode dans la classe A
 
Merci de vos réponses

Message cité 2 fois
Message édité par Anonymouse le 11-05-2007 à 23:47:48
Reply

Marsh Posté le 08-05-2007 à 23:04:51   

Reply

Marsh Posté le 09-05-2007 à 03:53:33    

Anonymouse a écrit :

Dans une variable: v de type A j'ai parfois un objet B parfois un objet A
Quand je sais que j'ai un objet de type B dans la variable v je veux appliquer une méthode de classe B sauf que on me dit que qu"une variable A n' a pas de méthode.


 
Je suis pas sur d'avoir compris, mais tu dois toujours pouvoir faire un truc du genre "if(v instanceof B) v.methodeB();" normalement.
Sinon poste ton code.
 
@++

Reply

Marsh Posté le 10-05-2007 à 01:27:47    

bugbreeder a écrit :

Je suis pas sur d'avoir compris, mais tu dois toujours pouvoir faire un truc du genre "if(v instanceof B) v.methodeB();" normalement.
Sinon poste ton code.
 
@++


 
J'ai essayé ton truc mais ca na marche pas.
En fait le problème est que à la compilation le programme cherche dans le type de la variable A une méthode et il ne la trouve pas.
Je veux bien poster mon code mais ca va prendre quelques lignes :whistle:  
 
J'ai contourné mon problème en faisant ca
 

Code :
  1. //pour l'instant je crée une var temporaire de type B
  2. typeB varTemp;
  3. //J'affecte la var v a la varTemp
  4. varTempt=(typeB)v;
  5. //J'applique ma méthode  
  6. varTemp.methode();
  7. //J'affecte ma varTemp a ma var v
  8. v=varTemp


Message édité par Anonymouse le 10-05-2007 à 01:32:31
Reply

Marsh Posté le 10-05-2007 à 09:01:49    

Anonymouse a écrit :

:hello: Bonjour
 
J'ai un classe B qui hérite d'une classe A.
Dans une variable: v de type A j'ai parfois un objet B parfois un objet A
 
Quand je sais que j'ai un objet de type B dans la variable v je veux appliquer une méthode de classe B sauf que on me dit que qu"une variable A n' a pas de méthode.
Il y'a t'il un moyen de cpntourner cela ou dois-je redéfinir la méthode dans la classe A
 
Merci de vos réponses


Kamoulox!!!


---------------
A religious war is like children fighting over who has the strongest imaginary friend.
Reply

Marsh Posté le 10-05-2007 à 16:05:03    

Bonjour,
je dirais un simple cast  
quand tu sais que ta variable v, contient une instance de B :
 
((B)v).methodeDeB()
 

Reply

Marsh Posté le 11-05-2007 à 01:31:22    

sebi a écrit :

Kamoulox!!!


 
mais encore....
 

yaltar a écrit :

Bonjour,
je dirais un simple cast  
quand tu sais que ta variable v, contient une instance de B :
 
((B)v).methodeDeB()


 
Merci beaucoup c'est parfait.
J'avais déjà tenté le cast mais je ne plaçais pas les bonnes parenthèses  :love:  

Reply

Marsh Posté le 11-05-2007 à 14:39:44    

Bonjour,  
parfait si ca t'a aidé, pense à mettre en "Résolu" :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed