Transtypage

cs_babylonne Messages postés 46 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 11 juillet 2007 - 27 févr. 2005 à 00:38
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 - 28 févr. 2005 à 14:54
Bonsoir tout le monde ,

je suis debutant en java , et j'ai un ptit probleme de comprehension
par rapport au transtypage ascendant

par exemple: si on prend T comme super classe de T1 on a le droit de faire T T1 mais par contre , quand on fait T1 T c'est une erreur , là ,je suis d'accord .
mais je comrprends pas pourquoi on fait un transtypage de cette manire qui est : T1 i (T1) T c'est-à-dire on doit transtyper T en T1 et que pour moi ça revient la même chose que T1 T .

meci d'avance pour l'explication car ça m'embête un peu

mereci.

4 réponses

djyb2003 Messages postés 13 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 27 décembre 2007
27 févr. 2005 à 07:48
Joey

Java Forever...
Salut!! t'as raison ca beugue un peu mais c tout simple!! T est une super classe de T1 donc T contient T1 et non T1 contient T! ca tu l'as compris et quand on fait T1 T ca veux dire que T1 va contenir T1 + ce qui est en dehors de T1 donc le reste de T! ca donne une erreur!! et donc quand on fait T1 (T1) T on choisi de remettre à T exclusivement la partie T1 et non le reste!! Note qu'en général ce ganre de transtypage est faisable aussi dans d'autre cas comme dans le ca d'héritage comme T1 et de T2 héritent de T quand on fait T1 = T2 ca marche pas car ils ont pas les memes champs car ans T1 il y a les champs et méthodes de T + les champs et méthodes de T2 qui ne font pas partie de T1 ce qui crée une erreur donc ce qu'il faut faire c T1 = ( T ) T2 et là il va prendre que les champs partagés de T!!

Désolé j'ai beaucoup trop aprofondi mais il vaut mieux savoir que non!! donc j'espere t'avoir aidé de toute facon tu peux me répondre si t'as besoin d'autre chose ou plus d'infos!! Bonne Chance
0