OVH Cloud OVH Cloud

[WD9] Membre constante

5 réponses
Avatar
Sylvestre
Bonjour

J'essaye d'utiliser des constantes dans une
classe, elles sont déclarées en public
avec la syntaxe "PUBLIC CONSTANT .......FIN",
mais lorsque j'instancie
ma classe et essaye de les utliser avec
"nom_classe:nom_constante" windev
ne les reconnait pas....comment faire ?

Merci

5 réponses

Avatar
Antoine
Salut,

il faut utiliser la syntaxe:
"nom_classe::nom_constante"
(doubler les deux-points)

Cordialement,
Antoine

Sylvestre wrote:
Bonjour

J'essaye d'utiliser des constantes dans une
classe, elles sont déclarées en public
avec la syntaxe "PUBLIC CONSTANT .......FIN",
mais lorsque j'instancie
ma classe et essaye de les utliser avec
"nom_classe:nom_constante" windev
ne les reconnait pas....comment faire ?

Merci




Avatar
Romain PETIT
Antoine a exprimé avec précision :
Salut,

il faut utiliser la syntaxe:
"nom_classe::nom_constante"
(doubler les deux-points)



Et à l'intérieur de la classe (ainsi que pour les classes héritées), on
n'est pas obligé de donner le nom de la classe.

"::nom_constante" suffit.

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Sylvestre
J'essaye avec :: mais j'obtiens "Opérateur ::
interdit" ..?



"Romain PETIT" a écrit dans
le message de news:

Antoine a exprimé avec précision :
Salut,

il faut utiliser la syntaxe:
"nom_classe::nom_constante"
(doubler les deux-points)



Et à l'intérieur de la classe (ainsi que pour
les classes héritées), on n'est pas obligé de
donner le nom de la classe.

"::nom_constante" suffit.

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter
en privé)




Avatar
Sylvestre
En fait ma déclaration est incomplète, il faut
rajouter GLOBAL pour
pouvoir utiliserles constante dans les membre,
PUBLIC n'est pas suffisant

Merci

"Sylvestre" a écrit dans le
message de news:
45539d7b$0$30596$
J'essaye avec :: mais j'obtiens "Opérateur ::
interdit" ..?



"Romain PETIT" a écrit
dans le message de news:

Antoine a exprimé avec précision :
Salut,

il faut utiliser la syntaxe:
"nom_classe::nom_constante"
(doubler les deux-points)



Et à l'intérieur de la classe (ainsi que pour
les classes héritées), on n'est pas obligé de
donner le nom de la classe.

"::nom_constante" suffit.

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me
contacter en privé)








Avatar
Romain PETIT
Dans son message précédent, Sylvestre a écrit :
En fait ma déclaration est incomplète, il faut rajouter GLOBAL pour
pouvoir utiliserles constante dans les membre, PUBLIC n'est pas suffisant



Attention, en POO, ne confond pas PUBLIC CONSTANT et CONSTANT.
Les constantes sont déclarées en dehors de la déclaration de la classe
Les membres CONSTANT sont des variables.

Exemple :

************ Code de déclaration de classe
// Une constante
CONSTANT CT_Constante = 0

// déclarer une strutcure
strMaStructure est une structure
stMembreStruc est une chaine
...
FIN

//déclaration de la classe
cClasse est une classe
//membres accessibles uniquement au sein de la classe
PRIVÉ
ePrivé est un entier

//membres accessibles aux procédures extérieures
PUBLIC
ePublic est un entier

// Membres accessibles en lecture/écriture dans la classe,
// Uniquement en lecture depuis une classe héritée
// et inaccessibles aux procédures extérieurses
Protégé CONSTANT
eProtégéConstant est un entier

// Membres accessibles en lecture/écriture
// dans la classe et classe dérivée et uniquement
// en lecture à l'extérieur
PUBLIC CONSTANT
ePublicConstant est un entier

// le mot clé global sert juste à ce que ce membre
// soit utilisable sans instanciation
GLOBAL PUBLIC CONSTANT
eGloblaPublicConstante est un entier
FIN

// Constantes
CONSTANT
CT_constante1 = 1
CT_constante1 = 2
FIN

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)