Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Parcourir toutes les instances d'une classe

12 réponses
Avatar
Vincent Courcelle
Bonjour,
je cherche le moyen de parcourir un à un toutes les instances d'une classe
en fait, ces objets représentes des objets réels déposés au sein de
différentes pièces (pas beaucoup d'objets et pas beaucoup de salles), quand
le joueur rentre dans la salle, je voudrais regarder chaque objet pour
savoir lesquels se trouvent dans cette salle.

une autre solution serait de créer une classe qui gère ces objets (via
HashMap etc...), mais ça ne me réjouit pas trop et j'ai pour contrainte
d'avoir le moins de classe possible
(Pour ceux qui connaissent, l'environnement de base est "the world of zuul")
merci :)

Vincent Courcelle
http://www.tubededentifrice.com et http://www.france-jeunes.net

2 réponses

1 2
Avatar
Thomas Nguyen
On Fri, 08 Oct 2004 09:42:03 +0200, Xavier Tarrago wrote:

Si on garde une reference forte de la liste vers l'objet, il ne sera jamais
garbage-collecté. Dans ce cas, il faut gérer explicitement les destructions
des objets. Soit en utilisant les finalize (pas conseillé), soit en
architecturant le code de façon à ce que avant de perdre la dernière
référence à l'objet, on l'enlève de la liste.


Je déconseille aussi l'utilisation de finalize().
Depuis des années que je programme en Java, je n'ai *jamais* eu besoin de
l'utiliser. J'irais même jusqu'à dire qu'il ne faut pas apprendre son
existence à ceux qui débutent.


A la réflexion, j'ai donné une solution technique à une question technique.


J'ai enfin compris pourquoi tu as proposé cette solution.
En effet, c'était une réponse strictement technique, qui répondait à
la question, mais pas au problème. ;)


Je voudrais quand même signaler que la solution qui consiste à
intégrer une relation au modèle et à la gérer par des listes est
plus rationnelle.


Oui, cette réponse là répond au problème, pas à la question. ;)

Avatar
Vincent Courcelle
"Xavier Tarrago" a écrit dans le message
de news: ck5gcb$211$
Si on garde une reference forte de la liste vers l'objet, il ne sera
jamais
garbage-collecté. Dans ce cas, il faut gérer explicitement les
destructions
des objets. Soit en utilisant les finalize (pas conseillé), soit en
architecturant le code de façon à ce que avant de perdre la dernière
référence à l'objet, on l'enlève de la liste.

Pour l'erreur, il suffit de caster l'objet. En efet, Iterator.get()
retourne
un Object, mait toi, tu sais que cet Object est en réalité un Item. Donc
thisItem = (Item)iterator.get();


qu'est-ce que c'est idiot ça quand même
pire, je trouve ça illogique d'être obligé de caster quelque chose qui est
déjà du bon type...
préfère le PHP moi :/ beaucoup plus naturel en tout points

1 2