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

VB 6 et antérieur Discussion :

Private et public dans les procédures


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 80
    Points
    80
    Par défaut Private et public dans les procédures
    Bonjour , je n’utilise jamais Private dans mes programmes …

    Je comprend bien que utiliser private réduit sa portée et quand rien n’est précisé alors
    La procédure est public par défaut donc visible par tous les modules …
    Avec « Public » je pars du principe que si je peux le plus alors je peux le moins avec private ce n’est pas le cas …

    Du coup est-ce vraiment utile de réduire la portée d’une procédure en utilisant private ?

    Bref , je ne sens pas réellement quelle est l’utilité de « private » ?ça accèlère le code en libérant de la mémoire ? ( je crois savoir que cette notion de portée private/public se retrouve dans quasiment tous les langages) .

    Donnez –moi envie d’utiliser « Private » …

    NB : j’aie remarqué que les procédures évenementielles sont toutes « private » .Pourquoi ?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 261
    Points : 216
    Points
    216
    Par défaut
    c'est normal que les procédures évenementielles soient toutes private, car elles sont liée à un formulaire spécifique et non pas à tout les formulaires de ton projet.

    sinon la notion de public et private est intéréssante biensure, mais tu vas bcp plus te rendre compte de ça quand tu fais de la programmation orientée objet, ou que tu veux distribuée des dll ou des classes etc....

    Suppose que tu crée une classe qui contient plusieurs fonctions par example :
    une fonction qui retourne les clients AFFICHER CLIENT,
    cette fonction pour retrouver les clients doit faire des calculs, et connexions à la base de données etc...
    tu rend public Afficher Client, et tes calculs et ta base de données etc...reste en privé, comme ça un utilisateur externe n'a pas a passé à la fonction connexion a la base des parametres, ni à savoir ce qui se passe derriere,
    lui il appelle AFFICHER CLIENT, et ton AFFICHER CLIENT, appelle la procédure privée connexion à la base, calcul etc...

    je ne sais pas si tu vois ce que je veux dire

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,

    J'utilise l"instruction DIM.

    Dim dans une procédure rend la variable uniquement utilisable dans cette procédure.
    Utile pour la clarté du programme, et la variable est réinitialisée à chaque appel de la procédure .

    Dim en début d'une Form(ou d'un module), rend la variable publique dans toutes les procédures de la Form(du module), mais la rend privée dans les autres Form(module).
    Je ne me sers de l'instruction Public pour définir des variables que dans une Sub Main ( avant le Sub Main).
    Utile si on va chercher des paramètres dans un fichier , utilisés dans toutes les Form ou Module d'un Projet.
    Exemple:nom et chemin des fichiers utilisés dans le projet que l'on va chercher dans un fichier texte car plus facile d'aller modifier alors dans un fichier texte, ce qui évite d'aller modifier dans le programme et de recompliler le projet.
    Mais rendre toutes les variables publiques n'est certainement pas utile pour la clarté du programme.

    A+

  4. #4
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    La portée des procédures et des variables ne concerne pas seulement les problèmes d'exposition notamment au sein d'une classe.
    La portée n'est pas seulement à considérer en tant que Privée ou publique mais également qu'elle est le container de la variable.
    Par exemple l'espace mémoire nécessaire à une variable (privée ou publique) déclarée au niveau module sera affecté au chargement de l'application une fois pour toute
    alors qu'une variable de portée procédure verra l'espace alloué chargé puis déchargé en fonction de son utilisation.
    Ceci pour dire que les cas de figure sont suffisamment nombreux qu'un tutoriel complet serait nécessaire pour parcourir le sujet.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Je me suis souvent posé la question aussi et j'ai aussi tendance à rendre public.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    N’oublions pas que l’on peut avoir plusieurs occurrences du même Form et alors il faut savoir si la variable (ou la fonction) est identique pour tous les Form (public) ou si chacun a besoin de la sienne (Private) avec une valeur qui peut être différente pour chaque Form.

Discussions similaires

  1. Arguments dans les procédures stockées
    Par sliderman dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 28/03/2008, 13h29
  2. Réponses: 3
    Dernier message: 03/08/2007, 21h11
  3. ntext interdits dans les procédures et triggers.
    Par gregb34 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/06/2007, 17h58
  4. Gestion d'erreur dans les procédure
    Par speedy1496 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 20/01/2006, 12h02
  5. Calcul du temps passé dans les procédures ...
    Par Jloox dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/10/2005, 14h31

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