IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Déclaration en POO [WD17]


Sujet :

WinDev

  1. #1
    Membre actif Avatar de thierrybatlle
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2005
    Messages : 618
    Points : 222
    Points
    222
    Par défaut Déclaration en POO
    Bonjour,

    Comment déclarer dans Windev, en POO, une constante en privée ?

    J'ai essayé :
    PRIVE CONSTANT MA_CONSTANTE

    Mais ce n'est pas bon.

    Merci bien.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Je viens de tester en 16:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PRIVE
    CONSTANT MA_CONSTANTE = 1
    Tatayo.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 198
    Points : 185
    Points
    185
    Par défaut
    Idem en 17, ca fonctionne pareil.

  4. #4
    Membre actif Avatar de thierrybatlle
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2005
    Messages : 618
    Points : 222
    Points
    222
    Par défaut
    C'est ce que j'avais essayé mais ne voyant pas l'icône devant ma constant en rouge je pensais que cela ne fonctionnait pas.

    Merci bien.

  5. #5
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut
    Cette syntaxe marche chez vous ??
    Moi cela ne marche pas, les constantes sont automatiquement publique. (je suis en 17)

    Si je tape <Nom de ma classe>. il me liste toutes les constantes de la classe.

  6. #6
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut
    Desolé de remonter ce sujet mais ce problème commence a devenir agaçant et je ne trouve aucune solution sur le net.
    Suis-je le seul a avoir ce problème ?

    Je détaille :

    J'ai une classe MaClasse avec dans la déclaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PRIVE
       CONSTANT C1 = 1
     
    PUBLIC
       CONSTANT C2 = 2
    dans une fenetre j'instancie un objet objMaClasse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objMaClasse  est un MaClasse(param)
    dans l'editeur de Code lorsque je tape
    objMaClasse .
    il me liste toutes les methodes et propriétés publiques de classe mais pas C1 ni C2

    lorsque je tape
    MaClasse .
    il me liste toutes les methodes et propriétés publiques de classe mais aussi C1 et C2

    Je n'y comprend rien..

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Je viens de tester avec la 17:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CnxBdd est une Classe
    PRIVÉ
    	CONSTANT XY = 1
    PROTÉGÉ
    	m_nIdConnection est un entier
    	m_sUtilisateur 	est une chaîne
    	m_sMotDePasse 	est une chaîne
    	m_sBaseDeDonnee est une chaîne
    	m_sSource 		est une chaîne
    PROTÉGÉ GLOBAL
    	m_tabLstConnexions est un tableau dynamique de CnxBdd dynamiques
    	mg_nIdCourant est un entier
    FIN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    gpclConnexion est un CnxBdd dynamique
    gpclconnexion.
    WinDev me propose via la complétion Active (une méthode publique) et p_sSource (une propriété).
    Si je passe la constante en publique, j'ai la même chose !

    Bref WinDev a du mal à gérer la porté des constantes dans les classes.

    Maintenant j'ai pour habitude de déclarer les membres de mes classes protégés ou privé, et d'y accéder "de l'extérieur" via une propriété. J'aurai donc tendance à faire de même pour une constante.

    Tatayo.

  8. #8
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut
    D'accord avec toi sur la difficulté a gérer la portée des constantes.

    Et si tu tapes
    ?

    Peut-être que je me trompe mais il me paraîtrait logique que les constantes publiques soient accessibles en tapant <NomDeClasse>.<Constante>

    Comme ca pas besoin d'instancier d'objet, les constantes sont directement accessibles. Cela ne marche-t'il pas comme ca dans d'autres langages ???

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Avec le nom de la classe, la constante est accessible qu'elle soit publique ou privée.
    Je n'avais pas essayé car je pensais que seules les membres globaux pouvaient être utilisés en dehors d'une instance.
    Ca me conforte dans l'idée d'utiliser un membre global privé (ou protégé), et d'en donner l'accès via une propriété en lecture seule.

    Tatayo.

  10. #10
    Membre confirmé Avatar de jimmypage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 314
    Points : 474
    Points
    474
    Par défaut
    Et c'était la même chose en 16 ??

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] Interdire la déclaration de variable membre dynamique
    Par raoulchatigre dans le forum Langage
    Réponses: 8
    Dernier message: 03/03/2008, 15h05
  2. [POO] Assigner un type à la déclaration d'un attribut
    Par fadeninev dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2007, 13h12
  3. Réponses: 1
    Dernier message: 17/04/2007, 22h07
  4. [POO] Déclaration des varaibles?
    Par kalash_jako dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2006, 18h36
  5. Réponses: 4
    Dernier message: 11/05/2006, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo