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 :

Ajout d'objets en C#


Sujet :

C#

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Ajout d'objets en C#
    Salut à tous
    J'ai un problème depuis hier que je ne pas résoudre seul car je suis un débutant en programmation C#. J'ai le code C# suivant:

    // Je crée un tableau de cinq étudiants à partir de la classe Etudiant
    Etudiant[] mesEtudiants = new Etudiants[5];
    // Je crée maintenant un objet Biologie de la classe Cours
    Cours cs = new Cours();
    cs.nomCours = "Biologie";

    Maintenant, j'aimerais savoir comment ajouter mon premier étudiant à l'objet de cours Biologie(cs) s'il vous plaît. J'ai essayé
    mesEtudiants[0].add(cs), mesEtudiants[0].Add(cs), j'ai tout essayé, mais rien n'a jamais fonctionné. Merci d'avance pour vos précieuses aides. Merci !

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    les méthodes de classe ne sortent pas d'un chapeau magique, il faut les définir ou qu'elles existent déjà dans une classe parente/interface.
    Montre nous la trogne de tes classes qu'on voit un peu tout ça.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    // Voici mon fichier de classe Etudiants
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading.Tasks;
    using System.Linq;

    namespace ModuleFive
    {
    public class Student
    {
    private string sfirstName;
    private string slastName;
    private DateTime sbirthdate;
    private static int studentEnrolled;
    private string courseAffected;
    public string sFirstName
    {
    get
    {
    return sfirstName;
    }
    set
    {
    sfirstName = value;
    }
    }

    public string sLastName
    {
    get
    {
    return slastName;
    }
    set
    {
    slastName = value;
    }
    }

    public DateTime sBirthdate
    {
    get
    {
    return sbirthdate;
    }
    set
    {
    sbirthdate = value;
    }
    }

    public static int StudentEnrolled
    {
    get
    {
    return studentEnrolled;
    }
    set
    {
    studentEnrolled = 0;
    }
    }

    public string CourseAffected
    {
    get
    {
    return CourseAffected;
    }
    set
    {
    CourseAffected;
    }
    }

    }
    }

    // Voici mon fichier de classe Cours
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading.Tasks;
    using System.Linq;


    namespace ModuleFive
    {
    public class Course
    {
    private string courseName;
    public string CourseName
    {
    get
    {
    return courseName;
    }
    set
    {
    courseName = value;
    }
    }

    }
    }

    Puis j'ai crée un tableau de cinq étudiants à partir de la classe Etudiant(Student)
    Student[] myStudents = new Student[5];

    Après j'ai crée un objet Biologie de la classe Cours(Course)
    Course cs = new Course();
    cs.courseName = "Biologie";

    Maintenant, je voudrais ajouter les cinq étudiants à mon cours de Biologie. Si je comprends le concept pour un étudiant, je pourrais le faire sans problème pour tous les autres. Si vous avez besoin de plus de détails, je suis à votre disposition car j'aimerais tant progresser. J'ai d'autres petits problèmes mais je veux avancer étape par étape, concept par concept. Je vous attends.

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Re,

    plusieurs choses :
    - pense à utiliser la balise code pour que ce soit lisible,
    - les accesseurs ne servent à rien si tes attributs sont publics,
    - et enfin, si tu veux associer/ajouter des instances de Cours à tes instances de Students, ce dernier doit déclarer un attribut de ce type (voire une collection si tu veux en ajouter plusieurs).

    Maintenant je pense qu'il te manque les bases de la POO, je te conseille donc de lire quelques tuto simples avant de te lancer à corps perdu

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    N'y a t-il pas aucune méthode pour faire l'ajout automatiquement comme fait la méthode add en java pour ajouter un composant à un panneau ?

  6. #6
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Je suis pas expert Java mais je sais assurément que ça fonctionne pareil.
    Si ton panel en Java te permet de faire un Add() c'est que d'une manière ou d'une autre cette méthode est définie quelque part.
    Là tu pars d'une classe toute vide, sans héritage, aucune chance qu'une fonction pop par magie.
    Si tu définies une nouvelle classe en Java se sera la même chose.

  7. #7
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Allez, pour pas te décourager voilà ce que tu peux faire.
    Dans ta classe Student tu ajoutes cet attribut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public List<Course> Courses = new List<Course>();
    Tu pourras ensuite faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Student etudiant = new Student();
    Course maths = new Course();
    etudiant.Courses.Add(maths);

  8. #8
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut
    bonjour

    Tu doit creer une propriete array d'etudiants dans ton class Course ce qui permettra d'affecter ton array temporaire MyStudents à cette propriete...
    De toutes les manieres ton code est plein de fautes de frappes ...
    Quand tu postes utilize la balise Code...
    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
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace WinStudents
    {
        public class Student
        {
            private string firstName;
            private string lastName;
            private DateTime birthdate;
            private static int studentEnrolled;
            private string courseAffected;
            public string FirstName
            {
                get {  return firstName;  }
                set {  firstName = value; }
            }
     
             public string LastName 
             { 
                 get {return lastName;}
                 set { lastName = value; }
             }
     
             public DateTime Birthdate
             {
                 get { return birthdate;}
                 set { birthdate = value;}
             }
     
             public static int StudentEnrolled
             {
                 get { return studentEnrolled; }
                 set { studentEnrolled = 0; }
             }
     
             public string CourseAffected
             {
                 get { return courseAffected; }
                 set {  courseAffected = value ; }
             }
     
         }
     }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace WinStudents
    {
     
     
        // class Cours
         public class Course
         {
     
             public Course()
             {
                 CourseName = string.Empty;
                 arrStudents = new Student[] { };
             }
             private string courseName;
             public string CourseName
             {
                get  { return courseName;}
               set   { courseName = value;}
             }
     
             //rajout d'une prop
             private Student[] arrStudents;
     
             public Student[] ArrStudents
             {
                 get { return arrStudents; }
                 set { arrStudents = value; }
             }
     
     
         }
     
    }
    code de form1 pour l'user:
    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
     
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Globalization;
     
    namespace WinStudents
    {
        public partial class Form1 : Form
        {
            private Student std;
            private  Student[] myStudents;
            private Course cs;
            public Form1()
            {
                InitializeComponent();
                button2.Enabled = false;
            }
     
     
     
            private void button1_Click(object sender, EventArgs e)
            {
                button2.Enabled = false;
                cs = new Course();
                cs.CourseName = "Biologie";
                Student[] myStudents = new Student[5];
     
                DateTime t = DateTime.Parse("05/12/1990",CultureInfo.CurrentCulture );
                for (int i = 0; i < myStudents.Length; i++)
                {
                    std = new Student();
                    std.FirstName = "Nom" + i.ToString();
                    std.LastName = "Prenom" + i.ToString();
                    std.CourseAffected = cs.CourseName;
                    t = t.AddYears(2);
                    std.Birthdate = t;
                    myStudents[i] = std;
                }
                cs.ArrStudents = myStudents;
                button2.Enabled = true;
            }
     
            private void button2_Click(object sender, EventArgs e)
            {
                textBox1.Clear();
                string s;
                foreach (Student item in cs.ArrStudents )
                {
                    s = item.FirstName + " ; " + item.LastName + " ; " +  item.CourseAffected.ToString() + " ; " + item.Birthdate.ToShortDateString()+ Environment.NewLine;
                    textBox1.Text += s;
                }
     
            }
        }
    }
    bon code...

Discussions similaires

  1. [swing] modifier l'ajout d'objet dans un JTable
    Par Invité dans le forum Composants
    Réponses: 2
    Dernier message: 17/05/2006, 13h02
  2. [C#] Ajout d'objet à un Arraylist
    Par shinchan dans le forum Windows Forms
    Réponses: 7
    Dernier message: 30/03/2006, 10h46
  3. Réponses: 2
    Dernier message: 25/01/2006, 21h25
  4. [Vector] Ajouter un objet
    Par GLDavid dans le forum SL & STL
    Réponses: 3
    Dernier message: 14/12/2005, 13h29

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