OVH Cloud OVH Cloud

Nom d'objet dynamique POO

3 réponses
Avatar
Jean-Luc Baptiste
Bonjour

Est il possible de déclarer un nom d'objet ( d'une classe ) de facon
dynamique ?

Cordialement

3 réponses

Avatar
pascal.roy
Jean-Luc Baptiste a écrit :
Bonjour

Est il possible de déclarer un nom d'objet ( d'une classe ) de facon
dynamique ?

Cordialement




J'admet ne pas comprendre la question, mais si c'est ce que je pense
oui, c'est possible.

Il faut que dans ta classe tu es une méthode "Constrructeur"

Tu déclares alors l'objet ainsi

Local (ou Global)
vMonObjet est un MaClasse dynamique (tu peux ajouter = Null, mais
c'est pas obligatoire)


Puis dans ton code, quand tu as besoin de l'objet, tu fais

vMonObjet = Allouer un Maclasse( paramètres du constructeur)

Ne pas oublier en fin de programme de faire
Liberer( vMonObjet)

Voila, je sais pas si c'est ce que tu voulais savoir, mais bon

Pascal
Avatar
Jean-Luc Baptiste
En fait je suis entrain d'écrire un support de cours illustrant les objets,
j'ai une zone de saisie ou les étudiants inscrivent le nom de l'instance de
l'objet, les différents attributs et clique sur un bouton pour creer l'objet
( un cercle par exemple ). Si par exemple ils saisissent essai comme nom
d'objet je souhaiterais l'équivalent de :

{mon libelle} est un MaClasse dynamique.

J'ai esssaye avec l'opérateur d'indirection mais pas bon ! la compil
dynamique donne de meilleurs résultats mais j'ai peur de perdre le lecteur.

C'est pour cela que je cherche une autre solution

MErci





a écrit dans le message de news:
ckvmh6$f1k$
Jean-Luc Baptiste a écrit :
Bonjour

Est il possible de déclarer un nom d'objet ( d'une classe ) de facon
dynamique ?

Cordialement


J'admet ne pas comprendre la question, mais si c'est ce que je pense
oui, c'est possible.

Il faut que dans ta classe tu es une méthode "Constrructeur"

Tu déclares alors l'objet ainsi

Local (ou Global)
vMonObjet est un MaClasse dynamique (tu peux ajouter = Null, mais c'est
pas obligatoire)


Puis dans ton code, quand tu as besoin de l'objet, tu fais

vMonObjet = Allouer un Maclasse( paramètres du constructeur)

Ne pas oublier en fin de programme de faire
Liberer( vMonObjet)

Voila, je sais pas si c'est ce que tu voulais savoir, mais bon

Pascal


Avatar
Romuald.besset
Jean-Luc Baptiste wrote:

En fait je suis entrain d'écrire un support de cours illustrant les objets,
j'ai une zone de saisie ou les étudiants inscrivent le nom de l'instance de
l'objet, les différents attributs et clique sur un bouton pour creer l'objet
( un cercle par exemple ). Si par exemple ils saisissent essai comme nom
d'objet je souhaiterais l'équivalent de :

{mon libelle} est un MaClasse dynamique.

J'ai esssaye avec l'opérateur d'indirection mais pas bon ! la compil
dynamique donne de meilleurs résultats mais j'ai peur de perdre le lecteur.

C'est pour cela que je cherche une autre solution

MErci



Bonjour Jean Luc...

Pourquoi ne pas faire différement (à l'envers cela marche souvent).

MonObjet est un MaClasse dynamique(mon_libelle).

// délaclaration
MaClasse est une classe
:m_cNom est une chaine
FIN
// Constructeur
Procedure Constructeur(pcNom)
:M_cNom=pcNom
Fin

Chaque instance aura alors la propriété nom voulue.
la navigation peut être assurée par une classes d'héritage qui permet de
naviger entre les instances. (exemple wdviewer : classes cListe)

Mieux que l'indirection, l'utilisation de ton cListe assurera alors ta
navigation nécessaire.

++ R&B