Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Langage
Langage Forum d'entraide sur le langage Java et autres langages pour la JVM : syntaxe, POO, conventions, API standard. Avant de poster -> FAQ Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/11/2012, 01h20   #1
assmoun
Invité de passage
 
Homme
Enseignant
Inscription : mai 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : mai 2011
Messages : 5
Points : 3
Points : 3
Par défaut Changer le type d'un objet

Salut à tous:
je viens vers vous éspèrant trouver de l'aide,j'ai une classe mère Point2D dont héritent deux autres classes PointLibre et PointSurSegment,je définis un objet point du type Point2D
Code :
1
2
Point2D point;
point = new PointLibre(/*arguments*/);
et j'aimerais par la suite réutiliser mon objet point (qui est dans une collection ) et lui changer le type en PointSurSegment,j'ai essayer plusieurs méthodes mais ça ne marche pas comme voulu.
Merci.
assmoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2012, 10h23   #2
Djakisback
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 913
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 913
Points : 1 840
Points : 1 840
Salut,
a priori tu seras obligé d'en créer un nouveau.
__________________
Vive les roues en pierre
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/11/2012, 14h15   #3
esired
Membre du Club
 
Homme
Inscription : juillet 2012
Messages : 36
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Bénin

Informations forums :
Inscription : juillet 2012
Messages : 36
Points : 59
Points : 59
Bonjour.
Si par changer de type, vous parlez d'utiliser l'opérateur de "cast ", vous ne pouvez pas changer le type de l'objet Point2D (qui est en réalité un PointLibre) car les types PointLibre et PointSurSegment ne sont pas compatibles entre eux.
Comme l'a dit le commentaire précédent, vous devez créer un nouvel objet.
Le problème que vous soulevez renvoie au cours sur l'héritage. Si vous n'êtes pas trop documenté sur le sujet, je vous suggère de consulter le cours de J. M. Doudoux sur le sujet.
http://jmdoudoux.developpez.com/cour...-poo.php#poo-6
J'espère vous avoir aidé.
esired est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2012, 15h29   #4
thelvin
Modérateur
 
Inscription : septembre 2004
Messages : 7 113
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7 113
Points : 10 349
Points : 10 349
Envoyer un message via Skype™ à thelvin
On ne peut pas changer le type d'un objet, point barre.

On peut changer l'objet vers lequel pointe une variable, et lui donner un objet d'un autre type que celui qu'elle avait déjà.
Mais si l'objet est dans une collection et pas une variable, c'est mort. Il faut enlever celui qui était déjà là et mettre le nouveau.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
Partagez vos connaissances, mais aussi comment s'en servir.
thelvin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2012, 13h20   #5
assmoun
Invité de passage
 
Homme
Enseignant
Inscription : mai 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : mai 2011
Messages : 5
Points : 3
Points : 3
Salut à tous et merci pour tous ceux qui m'ont aidé à mieux comprendre le problème,en effet il est impossible de lui changer le type même si les types héritent de la même classe,donc il faut en créer un autre et le remplacer.
Merci à tous.
assmoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h18.


 
 
 
 
Partenaires

Hébergement Web