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

  FORUM HardWare.fr
  Programmation
  Java

  probleme d'héritage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme d'héritage

n°1005682
tomtom41
It's not a bug, it's a feature
Posté le 08-03-2005 à 17:28:34  profilanswer
 

c'est encore moi  :o  :whistle:  
 
j'aimerais une petite précision sur l'héritage...
 
soit 2 classes :
 

Code :
  1. class A {
  2. public A meth() {
  3. (...)
  4. }
  5. class B extends A {
  6. public B meth() {
  7. (...)
  8. }


 
voila le probleme c'est que je ne sais pas comment faire pour implementer la méthode meth dans la classe B.
le type de retour fait il parti de la signature ?
 
si je le fais passer en redéfinition il me dit que ce n'est pas le même type de retour... :sweat:  
 
merci pour votre aide  :hello:


Message édité par tomtom41 le 08-03-2005 à 17:28:57
mood
Publicité
Posté le 08-03-2005 à 17:28:34  profilanswer
 

n°1005811
EpoK
Let's burn
Posté le 08-03-2005 à 18:26:55  profilanswer
 

garde la signature public A meth(), sachant tu peux renvoyer un B sachant que c'est un A :)


Message édité par EpoK le 08-03-2005 à 18:27:57
n°1005815
tomtom41
It's not a bug, it's a feature
Posté le 08-03-2005 à 18:29:34  profilanswer
 

EpoK a écrit :

garde la signature public A meth(), sachant tu peux renvoyer un B sachant que c'est un A :)


 
ah oui bien vu  :) le polymorphisme c'est ca  :D ?

n°1005835
tomtom41
It's not a bug, it's a feature
Posté le 08-03-2005 à 18:42:17  profilanswer
 

euh j'ai un doute là...
oui je peux renvoyer un B car c'est un A mais je ne peux pas le ranger dans un B étant donné que c'est un A...donc ca coince...:??:

n°1005847
djok_fb
C'était mieux avant!
Posté le 08-03-2005 à 18:46:41  profilanswer
 

Euh pkoi tu pourrais pas?
Un A, c'est un B light...
Au pire, tu castes: tonNouveauB = (B)tonAncienB.meth()

n°1005864
tomtom41
It's not a bug, it's a feature
Posté le 08-03-2005 à 19:00:39  profilanswer
 

merci c'est le cast qu'il me manquait :)

n°1006130
benou
Posté le 08-03-2005 à 22:39:55  profilanswer
 

en java1.5, tu peux garder la signature avec le type de retour B, c'est d'ailleur plus propre si c'est effectivement toujours un B que tu renvois : ca évite de devoir caster dans les cas où tu te sers directement d'un objet de type B plutot qu'un objet de type A.
 
en java < 1.5, ce n'était pas possible : pour surcharger une méthode, tu étais obligé de garder exactement la même signature.
 
Cette fonctionnalité ajouté dans le java1.5 s'apelle le type de retour covariant.

n°1007223
EpoK
Let's burn
Posté le 09-03-2005 à 19:42:32  profilanswer
 

benou a écrit :

en java1.5, tu peux garder la signature avec le type de retour B, c'est d'ailleur plus propre si c'est effectivement toujours un B que tu renvois : ca évite de devoir caster dans les cas où tu te sers directement d'un objet de type B plutot qu'un objet de type A.
 
en java < 1.5, ce n'était pas possible : pour surcharger une méthode, tu étais obligé de garder exactement la même signature.
 
Cette fonctionnalité ajouté dans le java1.5 s'apelle le type de retour covariant.


 
je savais pas  :jap:


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

  probleme d'héritage

 

Sujets relatifs
[VB] Problème syntaxe fin de lignePetit problème avec un héritage : constructeur incorrect ?
[problème c++] Conteneur STL et héritageProbleme heritage/surcharge d'operateur
Probleme d'heritage et de surcharge en C#[ Python ] Problème héritage # 4 (- update- )
Probleme heritage classeprobleme d'heritage
probleme de cast dynamique avec heritage etcProblème d'héritage
Plus de sujets relatifs à : probleme d'héritage


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