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 :

heritage d'une liste d'objets


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 433
    Par défaut heritage d'une liste d'objets
    Bonjour,

    j'arrive pas à comprendre une ecriture en c#

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class Myclass : List<Mysecondonbjet>
    {
    //code
    }
    je sais l'heritage concerne une classse une interface, mais pas une list d'objets.

    des idées????

    Merci

  2. #2
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    List<T> est une classe.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 433
    Par défaut
    merci pour ta reponse.
    mais est ce que tu peux m'expliquer plus.

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    En gros, ton objet sera une liste d'objets Mysecondobjet à laquelle tu peux rajouter des champs où des méthodes. Imagine si tu pouvais faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    List<Toto> listToto = new List<Toto>();
    listToto.MaSuperFonctionDeOuf();
    Ben, pour pouvoir le faire, tu hérites de cette classe et tu peux rajouter des méthodes
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 433
    Par défaut
    j'arrive pas à comprendre;(

    prenons un exmeple simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class personne
    {
    int id;
    string name.
     
    string affiche()
    {
    return "Bonjour Mr :"+this.name;
    }
    ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Personne> groupe=new List<Personne>();
    si je veux utiliser groupe;
    je vais trouver les methode de la list genre(add, remove, Last......)

    pour utiliser la methode affiche j'ai besoin d'un objet classe=> groupe(0).affiche();

    mais pour creer une autre classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     public class Toto: list<personne>
     {
     
    }
    si je recupere un objet de Toto j'aurai quoi?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    totot(0).affihe(); //ça sera possible????

    des idées???

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Je n'ai juste rien compris à ce que tu as expliqué :/ Essaye d'utiliser les balises CODE pour séparer les exemples du reste car là c'est vraiment brouillon
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 433
    Par défaut
    comme j'ai rien compris;(
    je propose un exemple simple pour vous expliquer comme je vois la chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class personne
    {
    int id;
    string name.
     
    string affiche()
    {
    return "Bonjour Mr :"+this.name;
    }
    }
    ensuite

    dans le Main par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Personne> groupe=new List<Personne>();
    si je veux utiliser l'objet groupe;

    je vais trouver les méthodes de la list genre(add, remove, Last......)

    Par exemple si je veux utiliser la méthode affiche de l'objet Personne

    j'aurai besoin d'un objet personne que je recupere de la list groupe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    groupe(0).affiche();
    je vois pas l’intérêt de heriter d'une list d'objets?

    a Part ajouter les méthodes par defaut d'une liste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class Toto: list<personne>
    {
     
    }

    exemple totot(0).affihe(); //ça sera possible????


    des idées???

  8. #8
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    J'ai pas de super exemple sous la main, mais imaginons que tu veuilles retourner la personne la plus vieille et que LinQ fait perdre trop de performance ou n'est pas assez clair pour ce type d'opération :

    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
     
    public class ListeDePersonne : List<Personne>
    {
    	public Personne TrouverPlusVieux()
    	{
    		Personne vieux = null;
     
    		foreach(Personne p in this)
    		{
    			if(vieux == null)
    				vieux = p;
     
    			if(vieux.Age < p.Age)
    				vieux = p;
    		}
     
    		return vieux;
    	}
    }
     
    public class Personne
    {
    	public int Age { get; private set; }
    }
    Je suis conscient que l'exemple n'est pas le mieux choisi mais ça te montre déjà ce que l'on peut imaginer.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  9. #9
    Membre confirmé
    Homme Profil pro
    Developpeur .Net
    Inscrit en
    Mai 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Developpeur .Net
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 32
    Par défaut Heritage d'une liste d'objects
    Lorsque vous faites :
    public class Listtt: List<Person> en fait vous creez une class Listtt qui heritera des fonctionalites de la list de person List<Person> qui est comme on l'a dit plus haut une class ,cad Add(Person), Remove(Person)...et en plus vous pourez y ajouter vos propres variables et functions.

    Voici un example:

    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
     
        class Program
        {
            static void Main(string[] args)
            {
                ListeDePersonnes lst = new ListeDePersonnes();
                //tu peux utiliser les fonctions heritees de la class List<Personne>
                // cad Add, Remove....
                //ex
                Personne p=new Personne { nom = "Patrick", age = 34 };
                lst.Add(p);
                //ou utiliser tes propres fonctions
                Personne p2=lst.CalculerAge(p);
                Personne p3=lst.ChangeName(p);
            }
        }
        public class ListeDePersonnes : List<Personne>
        {
            public Personne CalculerAge(Personne p)
            {
                p.age += 10;
                return p;
            }
           //une autre function
            public Personne ChangeName(Personne p)
            { 
               p.nom="Franck";
               return p;
            }
        }
        public class Personne
        {
            public string nom { get; set; }
            public int age { get; set; }
        }
    Biensur vous pouvez faire beaucoup plus complique.

    Merci.

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/05/2006, 20h20
  2. Créer une liste d'objets statiques dans une classe
    Par crossbowman dans le forum C++
    Réponses: 3
    Dernier message: 13/03/2006, 10h11
  3. methode qui retourne une liste d'objets du meme type
    Par anoukhan dans le forum Oracle
    Réponses: 8
    Dernier message: 12/01/2006, 19h38
  4. Tri d'une liste d'objet CObList
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 13/07/2005, 14h50
  5. [MFC] Retourner une liste d'objets
    Par 1cado dans le forum MFC
    Réponses: 10
    Dernier message: 28/07/2003, 13h11

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