Nom d'un objet en POO
ChefDeProjet WDF
Inscrit:
29/05/2007 17:03
De Sassenage
Post(s): 180
Bonjour,

existe-t-il un moyen de récupérer le nom d'un objet instancié, par exemple dans le constructeur:

j'instancie mon objet et dans le constructeur, j'alimente un membre avec le nom de l'objet en cours de construction, mais sans passer de paramètre au constructeur bien sur, ca je sais faire :)

L'aide indique que l'on peu utiliser le mot réservé "objet", met ca me renvoie le nom de la classe, et pas celui de l'objet :(

si vous avez une idée, je suis preneur, merci d'avance

Contribution le : 16/07/2008 16:11
Créer un fichier PDF de la contribution Imprimer


Re: Nom d'un objet en POO
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
je vous invite a lire cela qui devrais vous aider.

Noter qu'on accès à l'instance et pas au nom.

Contribution le : 16/07/2008 17:41
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Nom d'un objet en POO
ChefDeProjet WDF
Inscrit:
29/05/2007 17:03
De Sassenage
Post(s): 180
Merci bien, ce n'est pas tout a fait ce que je cherche, mais je ne connaissais pas cela, je le met de coté, ca peu toujours servir.

Contribution le : 16/07/2008 18:16
_________________
be aware
Créer un fichier PDF de la contribution Imprimer


Re: Nom d'un objet en POO
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Disons qu'il y a une voie parallèle qui consiste a transmettre le nom de l'instance de l'objet dans un de ses membre... tout comme le :this renvoie l'instance.

Contribution le : 16/07/2008 21:04
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Nom d'un objet en POO
Stagiaire WDF
Inscrit:
25/08/2006 13:13
Post(s): 27
Si j'ai bien compris, tu as :
Toto est un cl_Chat()
et tu veux recuperer "Toto" dans ton constructeur ?
Si c'est cela, non il n'y a pas moyen de recuperer le nom de ta variable autrement qu'en le passant en parametre.
Si c'est le nom de la classe instanciée que tu veux, en effet, il faut passer par objet :
Exple avec cl_chat derivee de cl_animal :

Toto est un cl_animal dynamique= allouer un cl_Chat()
Si tu met dans le constructeur de cl_Animal :
Trace(objet..classe) tu retrouve "cl_Chat"

Le post sur le mot "objet" dont le lien est donné ci-dessus ne m'a pas semblé très clair.
Pour savoir ce que deviennent les instances, moi je retiens juste 2 choses :
Toto est un cl_Chat : On a directement l'instance
Toto est un cl_Chat dynamique = allouer un cl_Chat : Ici Toto est un pointeur sur l'instance.

Donc grosso modo :
_A est un cl_Chat()
_A:Cri="Miaou"
_B est un cl_Chat dynamique = _A
_C est un cl_Chat = _A
Trace(_A:Cri+"/"+_B:Cri+"/"+_C:Cri) //Miaou/Miaou/Miaou
_A:Cri="Miaou2"
Trace(_A:Cri+"/"+_B:Cri+"/"+_C:Cri) //Miaou2/Miaou2/Miaou

on a bien _B qui est un pointeur sur l'instance de _A et _C qui est une seconde instance, copie de la premiere.

Contribution le : 18/07/2008 14:48
Créer un fichier PDF de la contribution Imprimer


Re: Nom d'un objet en POO
ChefDeProjet WDF
Inscrit:
29/05/2007 17:03
De Sassenage
Post(s): 180
Merci pour cette precision concerannt mon soucis.

Contribution le : 21/07/2008 09:27
Créer un fichier PDF de la contribution Imprimer


Re: Nom d'un objet en POO
DSI WDF
Inscrit:
15/03/2005 14:22
Post(s): 238
Sinon, tu peux retourner le pointeur de ton objet :

PROCEDURE sGetPointeur()

RENVOYER &Objet

(Il faut essayer si ça fonctionne)
Une fois le pointeur récupéré, tu peux l'associer à un autre objet dynamique déclarée (de la même classe).

Contribution le : 24/07/2008 10:47
Créer un fichier PDF de la contribution Imprimer


Re: Nom d'un objet en POO
Stagiaire WDF
Inscrit:
25/08/2006 13:13
Post(s): 27
"Renvoyer &Objet " est refusé :
"L'opérateur & n'est autorisé que sur les variables"

oA est un cl_Chat
oB est un cl_Chat dynamique = &oA ne fonctionne pas non plus.. :/

Contribution le : 24/07/2008 14:40
Créer un fichier PDF de la contribution Imprimer


Re: Nom d'un objet en POO
DSI WDF
Inscrit:
03/12/2004 07:46
Post(s): 235
Oui mais parce ce que, en fait, les objets en windev, ne connaissent que des pointeurs

oA est un cl_Chat
pB est un cl_Chat dynamique = oA fonctionne parfaitement

pB n'est pas une instance (clonée) de oA mais un pointeur sur l'instance oA elle même.

Contribution le : 25/07/2008 08:22
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2