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

Windows Forms Discussion :

[débutant] variable entre class


Sujet :

Windows Forms

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut [débutant] variable entre class
    Désolé de poser la question si elle a déjà était posée mais je n'arrive pas trouver de réponse.

    Je viens de Delphi et je n'arrive pas faire une chose "simple".
    J'ai deux class Etape et Essai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    public class Etape
        {
            private ushort IdFamille;
            private string Famille;
        }
     
    public class Essai
        {
            private Etape FEtape;
     
            public void Load()
            {
              FEtape= new Etape();
              FEtape.IdFamille=5;
            }
        }
    Et bien évidemment je ne peux pas écrire dans IdFamille parce que la variable est déclaré en privé ... mais je ne sais pas en quoi la déclarer pour que je puisse y avoir accès dans l'autre classe.
    Alors oui je pourrais la mettre en public, mais je ne veux pas que l'utilisateur puisse avoir accès a cette variable, je veux simplement m en servir pour dialoguer entre mes deux classes.

    Je suis preneur d'un petit coup de pouce.

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Fait une recherche sur la notion de propriété et tu trouveras ton bonheur.

  3. #3
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Alors, tu as pas mal de possibilités...

    déja, tu peux mettre Etape et Essai dans le meme namespace, et mettre tes variables en protected, comme ca, Etape pourra acceder a Essai

    Plan B, tu peux faire une propriete , comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Etape{
            private ushort _idFamille;
            private string _famille;
     
            public string IdFamille{
                    get { return _idFamille; }
                    set { _idFamille = value; }
            }
        }
    En mettant IdFamille en protected, le cas échéant.

    En passant, niveau conventions "standard", les variables membres sont en Camel Casing -> commencent par une minuscule, ou un _ pour les variables privées

  4. #4
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    ah c est cool merci pour les infos ...

    pvialatte je vais essayé de perdre mes mauvaises habitudes et utiliser les conventions standard.

    Merci encore

  5. #5
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    namespace Blocs.Dossier
    {
    public class Etape
        {
            protected ushort IdFamille;
            protected string Famille;
        }
     
    public class Essai
        {
            private Etape FEtape;
     
            public void Load()
            {
              FEtape= new Etape();
              FEtape.IdFamille=5;
            }
        }
    }
    }
    Bon j ai mis le même namespace pour les deux class et je n arrive toujours pas à écrire dans ma variable.

    inaccessible en raison de son niveau de protection

  6. #6
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    pfffff.....


    comme quoi, ne jamais répondre à des posts pendant que ma femme regarde la nouvelle star...

    C'est pas protected que je voulais dire, c'est internal...

    private (que la classe) < protected (la classe et ses descendants) < internal (l'assembly) < public (tout le monde)

  7. #7
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    MDR
    Merci , je fais un essai tout à l'heure

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

Discussions similaires

  1. Problème de passage de variable entre class
    Par yasen77 dans le forum Applets
    Réponses: 0
    Dernier message: 30/07/2010, 12h54
  2. passer variables entre classes
    Par MOLOT dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 23/02/2010, 09h41
  3. Comment passer des variables entre classe ?
    Par flingue dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 02/04/2009, 09h28
  4. passage de variables entre classes
    Par soujava dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 28/04/2008, 12h14
  5. débutant:utilisation de variable entre classe
    Par troojan dans le forum MFC
    Réponses: 1
    Dernier message: 08/12/2005, 00h31

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