Uther Le 26/05/2008 à 10:32Edité par Uther le 26/05/2008 à 12:40 A priori, je ne vois pas de problème dans ton bon de code.
Peux-tu être plus précis. sur le message d'errreur que tu as est a quel niveau?
Enfin, ça n'a rien à voir mais en java il y a des conventions sur l'écriture des variables, très pratiques pour la lisibilité car en général bien respectée par tous:
-Les classe s'écrivent : MaClasse (premières lettres des mot en majuscule pas de _)
-Les variables/objets s'écrivent : monObjet (premier mot en minuscule, puis majuscule pous la première lettre des autres mots, pas de _)
-Les constantes s'écrivent : MA_CONSTANTE (tout en majuscule avec _ entre les mots)
Quand on a pris l'habitude, les mon d'objets en majuscule ça pique les yeux.
Zeph Le 26/05/2008 à 12:06 Heu... "Index » Forum Informatique » Java" ?

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Uther Le 26/05/2008 à 18:22Edité par Uther le 26/05/2008 à 18:43 Je ne dis pas qu'un code ne respectant pas ça est forcément moche. Mais c'est quand même bien sympa de reconnaitre au premier coup d'œil variables, classes et constantes.
Dans ton premier exemple c'est particulièrement troublant car on a l'impression que tu utilises cette convention ce qui n'est pas le cas. Dans ton dernier post on voit dessuite que tu n'utilise pas la syntaxe recommandée. Au moins on est pas surpris.
Faute de frappe dans get_indentifiant.
Au fait ! Je n'ai plus besoin de la réponse à ma question. Cependant, je suis quand même curieux de savoir comment parvenir à ce que je voulais faire.
Le but était de pouvoir faire un classe générique, capable de pointer vers une autre instance d'elle-même. Mais, quand cette classe aurait été héritée, il aurait fallu que ses enfants puissent pointer vers des instances héritées et non-pas sur la classe de base.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
Zeph Le 27/05/2008 à 09:22 C'est normal, le type de son conteneur est toujours ClasseDeBase quel que soit la valeur que tu y affectes (et même si, en l'occurrence, c'est une instance de ClasseHeritante ce que le compilo ne peut pas deviner).
Plusieurs solutions :
- Soit des templates
- Soit au lieu d'accéder directement à l'attribut, tu crées un getter et un setter que tu peux surcharger pour leur faire retourner un pointeur du bon type (ClasseHeritante et non pas ClasseDeBase) (par contre il y aura toujours un cast à faire dans ces getter/setter, ou bien il faudra dupliquer les attributs au fur et à mesure que tu hérites, la solution à base de templates est donc clairement plus propre)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
et un cast? (après un test instanceof truc)
Zeph Le 27/05/2008 à 09:30 Au final ça revient au même que la 2eme solution, sauf qu'il va devoir mettre des casts partout où il veut accéder à l'attribut plutôt qu'un seul (dans le getter). C'est juste pour faire un peu moins moche.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
ahwé, ok. on est d'accord.
Dupliquer, ça veut dire déclarer un attribut dans la classe héritante portant le même nom qu'un attribut dans la classe de base ? Cela revient à dire qu'on change le type de l'attribut ?

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
Zeph Le 27/05/2008 à 09:47 ça voulait dire ajouter un nouvel attribut du bon type à chaque fois (je ne sais pas si on peut surcharger des attributs en Java, il ne me semble pas donc il faudra qu'ils portent des noms différents), mais du coup tu te traines de plus en plus d'attributs inutiles dans les classes filles, sous-filles, etc. Même si c'est masqué par le fait que tes getters/setters vont accéder uniquement au bon attribut et que tu n'auras pas à te poser la question dans le reste du code, ça reste très lourd et très laid :/

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)