letitouline
Messages postés14Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention24 octobre 2010
-
24 oct. 2010 à 14:40
letitouline
Messages postés14Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention24 octobre 2010
-
24 oct. 2010 à 20:00
Bonjour,
je me permets de poster un message, suite a un blocage que j'ai au niveau de mon code. Je sais ou j'ai l'erreur, mais je ne comprend pas comment la contourner (du moins avec les notions que je connais).
J'ai créé 2 classes, une appelée Case contenant une variable number de type int, et une autre appelée Tax héritant de Case et possédant une variable propre cost de type int.
En parallèle, j'ai fait ceci :
Case[] map = new map[1];
map[0] = new Case(12);
map[1] = new Tax(13, 100000);
Jusqu'ici tout va bien, le soucis c'est pour accéder a la variable cost de Tax. En effet si je fait : map[1].cost, cela ne marche pas puisque mon tableau est de type Case (plus général que Tax), enfin j'imagine que c'est pour sa....
Existe-t-il donc un moyen de pouvoir créer un tableau d'objets différents, me permettant par la suite d'accéder aux variables de tel ou tel objet, même si ces objets sont différents entre eux.
J'avais pensé a la généricité, mais je ne suis pas sur que cela puisse donner quelque chose.
Il est possible que je n'ai pas toujours utilisé les mots exact, je suis débutant.
N'hésitez pas a me demander plus d'explications sur ce que je veux faire, j'essayerais de répondre clairement.
et c'est dans cette fonction que j'essaye d'atteindre l'objet Tax, contenu dans map[1].
Sauf que meme avec un cast, sa ne fonctionne pas, l'erreur est :
"The type of the expression must be a array type but it resolved to a Case".
Peut-etre l'erreur vient du fait que je passe justement en argument la map sous le type Case ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 24 oct. 2010 à 19:57
Salut,
Attention, là tu ne passes pas ton tableau en paramètre mais une seule instance de ta classe Case, c'est différent.
Je te conseille d'utiliser les Collection (par exemple les ArrayList ou les Vector) en Java plutôt que les tableaux natifs : bien plus faciles à manipuler, il te rendront bien des services je pense.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement