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

C# Discussion :

Utilisation set & get en C#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Utilisation set & get en C#
    J'ai fait une fonction pour acceder les membres de la classe etudiant en utilisant le pointeur this.


    Mon probleme c'est que je veux lister les objets qui ont la note 8.02 (a mon cas il y a deux objets dans la classe principale etudiant qui ont cette note 8.02).

    Precisement c'est ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    etudiant a3 = new etudiant("Colpin", "Michel", "M", "Rennes", 29, 8.02f);
    etudiant a4 = new etudiant("Michel", "Francois", "M", "Rennes", 29, 8.02f);

    Voila tout mon code (j'ai aussi defini une classe derive enfant_etudiant qui contient 2 objets a5 et a6).

    Je veux afficher les 2 objets au-dessus a3 et a4 qui ont la meme note(fonction meme_note ici c'est mon probleme dans mon code).

    J'attache tout mon code. Vous-pouvez lancer pour voir comment il se comporte.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace Program
    //nom generique ClasseEtudiant
    {
        public class etudiant// definition classe principale etudiant
        {
            // declaration dates membres qui peuvent etre acceder par d'autres programmes
            //private string nom;  - vedem noi ce facem la private :(
            public string  nom,prenom, sexe, ville;
            public int age;
            public float note;
     
            //utilisation pointeur this pour acceder chaque membre de la classe enfant
            public etudiant(string  nom,string prenom, string sexe, string ville,int age, int note)
             { this.nom = nom;
               this.prenom = prenom;
               this.sexe=sexe;
               this.ville=ville;
               this.age=age;
               this.note=note;
             }
     
            public etudiant() // implementation constructeur implicit
            {
                nom = "";
                prenom = "";
                sexe = "";
                ville = "";
                age = 0;
                note = 0;
            }
            public etudiant(string n, string p, string s, string v, int a, float not) //implementation constructeur avec parametre
            {
                nom = n;
                prenom = p;
                sexe = s;
                ville = v;
                age = a;
                note = not;
            }
            // fonction quelle_note retourne une valeur de type float
            public float quelle_note() // fonction quel_note pour voir la promovation d'un examen
            {
                if (note >= 5 && note <= 10)
                    Console.WriteLine("\nL'etudiant a promove l'examen");
                else
                    Console.WriteLine("\nL'etudiant n'a pas promove l'examen");
                return note;
            }
            //affichage informations etudiants - en ce cas 3 dates membres //nom,prenom, note pour chaque objet de la classe etudiant-donc pour //chaque etudiant on affiche seulement ces 3 informations(nom,prenom et //note)
            public void informations() // functie membru afisare informatii
            {//0,1,2= arguemnte, format- specificator de format
                Console.WriteLine(string.Format("{0} {1} : {2}", nom, prenom, note));
            }
        }
     
        // definir une classe derivee pour la classe parent etudiant
     
        public class enfant_etudiant: etudiant
          {  public  enfant_etudiant() : base() // base - cuvant rezervat pt a prelua date membru sau functii membru din clasa parinte 
     
          {
     
            Console.WriteLine("Constructeur pour la classe derive");
          }            
     
            //definition constructeur avec parametre pour la classe derive enfant_etudiant
            public enfant_etudiant(string n1, string p1, string s1, string v1, int a1, float not1) //implementation constructeur avec parametre
            {
                nom = n1;
                prenom = p1;
                sexe = s1;
                ville = v1;
                age = a1;
                note = not1;
            }
     
            //fonction membre si un etudiant a une note comprise entre 7 ou 10 (ou non)
            public float quelle_note1() // fonction quel_note pour voir la promovation d'un examen
            {
                if (note >= 7 && note <= 10)
                    Console.WriteLine("\nL'etudiant a recu une note comprise entre 7 et 10");
                else
                    Console.WriteLine("\nL'etudiant n'a pas recu une note comprise entre 7 et 10");
                return note;
            }
     
     
            public float meme_note()
             {value=8.02;
                get
                      {return note; //on affiche la valeur de la date membre note
                      } 
                   set
                     {if (value==8.02)
                         note = 8.02;
                     }             
             }
            //fonction membre informations etudiants  nom, prenom,sexe, note
     
             public void informations2() // functie membru afisare informatii
            {//0,1,2,3= arguemnts, format- specificator de format
                Console.WriteLine(string.Format("{0} {1} : {2} {3} ", nom, prenom,sexe, note));
            }
     
          }
     
        static class Program
        {
            //Programme principal C#
            public static void Main(string[] args) //dans le programme principale on va creer 4 objets nomme a,a1,a2 et a3 pour la classe nomme etudiant
            //instantions des objets - en ce cas nous avons 4 objets
            {
                etudiant a = new etudiant("Prevost", "Marcel", "M", "Paris", 20, 3.02f);
                etudiant a1 = new etudiant("Prevost", "Eugene", "M", "Lille", 21, 9f);
                etudiant a2 = new etudiant("Lafont", "Virginie", "F", "Marseille", 22, 8f);
                etudiant a3 = new etudiant("Colpin", "Michel", "M", "Rennes", 29, 8.02f);
                etudiant a4 = new etudiant("Michel", "Francois", "M", "Rennes", 29, 8.02f);
                enfant_etudiant a5= new enfant_etudiant("Micheline", "Francois", "M", "Rennes", 29, 8.01f);
                enfant_etudiant a6 = new enfant_etudiant("Pauline", "Francois", "M", "Rennes", 29, 6.02f);
     
                Console.WriteLine("\n");
                Console.WriteLine("\nObjets pour la classe principale:\n");
                a.informations(); //apelare functii din clasa parinte pt.obiect precizat (obiect a in acest caz)
                a1.informations();
                a2.informations();
                a3.informations();
                a4.informations();
     
                a.quelle_note();
     
                Console.WriteLine("\nObjets pour la classe derive:\n");
                a5.informations2();
                a6.informations2();
                a5.quelle_note1();
                a5.meme_note();
                // affichage pour la classe derive
                //enfant_etudiant enfant_etudiant = new enfant_etudiant();
     
                //enfant_etudiant.print();
     
                //((etudiant) enfant_etudiant).print();
                Console.ReadLine();
     
            }
        }
    }
    Donc dans cette function je veux dire que c'est mon probleme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
       public float meme_note()
             {
                get
                      {return note; //on affiche la valeur de la date membre note
                      } 
                   set
                     {if (value==8.02)
                         note = 8.02;
                     }             
             }

  2. #2
    Expert confirmé

    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 : 47
    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
    Par défaut
    je pense qu'il y'a incompréhension qq part sur l'utilidation des accesseurs...

    Ce que ton code fait :
    public float meme_note() {
    get {return note; }
    set{if (value==8.02)note = 8.02;}
    }
    C'est juste de renvoyer la valeur de note si tu recuperes le resultat de meme_note, et d'assigner 8.02 a note si on lui passe 8.02 (si tu passes autre chose, rien n'arrivera...)

    En plus, un accesseur ne s'ecrit pas comme ca (pas de parentheses), et vu le code que tu attaches, ca ne peut pas compiler...

    Commence peutetre par ici :
    http://broux.developpez.com/articles...ter-en-dotnet/

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Salut! Les livres je l'ai vues aussi et j'ai lis un peu ce qu'il a sur le forum.

    Mon probleme c'est que je veux afficher dans la fonction meme_note les deux objets qui ont la note 8.02 de ma classe principale mais en utilisant les fonctions set&get. C'est seulement ici mon probleme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    etudiant a3 = new etudiant("Colpin", "Michel", "M", "Rennes", 29, 8.02f);
    etudiant a4 = new etudiant("Michel", "Francois", "M", "Rennes", 29, 8.02f);
    En esperant d'avoir etre plus claire!

    Si vous voulez je peux attacher aussi sur http://imageshack.us les messages d'erreurs que je recois en editant mon poste!

    Merci beacoup pour votre comprehension!

    Amicalment,

    Michel

Discussions similaires

  1. Prelever image d'axes1 en axes2 utilisant set&get
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 27/03/2009, 09h11
  2. Réponses: 7
    Dernier message: 17/01/2008, 10h03
  3. Réponses: 8
    Dernier message: 10/01/2008, 13h50
  4. set et get en delphi
    Par manel77 dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 26/07/2007, 16h43
  5. Réponses: 1
    Dernier message: 19/04/2007, 09h08

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