Caster dynamiquement un objet [Résolu]

Messages postés
42
Date d'inscription
mardi 30 décembre 2003
Dernière intervention
17 mai 2006
- - Dernière réponse : cs_TomC
Messages postés
42
Date d'inscription
mardi 30 décembre 2003
Dernière intervention
17 mai 2006
- 19 août 2005 à 17:00
Bonjour à tous.
Je cherche la manière de caster dynamiquement un objet.
Je sais récuperer la classe de l'objet à l'aide du package java.lang.reflect :
Class c = objet.getClass();
ensuite je voudrais le caster avec c, mais je ne sais pas comment m'y prendre.
Si quelqu'un pouvait m'éclairer ce serait sympa.
merci
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
18
3
Merci
deja si tu pense a le caster c est que tu pense savoir en quel ;o) class dc il te suffi de tassurer qu il correspond bien a cette class et pour cela tu doit utiliser

"instance of " par exmeple

if ( object instanceof TaClass )
{
TaClass taClass = (TaClass)object;
}

otrement si tu est sur de la class tu peu directement faire

((TaClass)object).laMethode();

GodConan

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_GodConan
Messages postés
9
Date d'inscription
jeudi 18 août 2005
Dernière intervention
22 août 2005
0
Merci
Un cast est forcément statique, par définition. Un Cast dynamique n'a pas de sens ....

Le cast permet au développeur de préciser de quel type est l'objet
manipulé afin d'accéder à des services particuliers fournis uniquement
par ce type d'objets.

Tu peux effectivement passer par le instanceof, comme le propose GodConan, il n'y a pas d'autres solutions possibles ...



Ou alors, il faut en dire plus sur ce que tu veux faire...
Commenter la réponse de cs_sammie
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Dernière intervention
11 août 2008
0
Merci
C'est vrai que caster "dynamiquement" un objet n'a pas de sens... La solution de GodConan me semble la meilleure.

neodelphi
Commenter la réponse de neodelphi
Messages postés
2837
Date d'inscription
lundi 11 août 2003
Dernière intervention
16 décembre 2006
11
0
Merci
Si tu fais un cast dynamique c'est que tu as mal conçu ton programme ... quelques petit rappel de la POO s'impose alors ..



++
Commenter la réponse de cs_neodante
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
18
0
Merci
evidement le cast est sutout utiliser avec les interface ... ;o) pour utiliser leurs methodes ... sans avoir besoin de connaitre la nature exacte de l object.... ;o)

++

GodConan
Commenter la réponse de cs_GodConan
Messages postés
42
Date d'inscription
mardi 30 décembre 2003
Dernière intervention
17 mai 2006
0
Merci
en fait je voulais récuperer un ResultSet dans un client à l'aide de RMI et puis instancier l'objet correspondant à un enregistrement du ResultSet automatiquement. Cela m'aurait permis de créer une classe unique pour récupérer et instancier les objets. Je n esais pas si c'est trés clair...
Bref, sur les conseils de tt le monde je vais rectifier le tir :-)
merci à tous pour vos réponses
tom
Commenter la réponse de cs_TomC

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.