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 :

Collection et heritage


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut Collection et heritage
    Bonjour,

    Je suis en train de créer un programme qui comporte 2 classes :
    - une classe employé
    - un classe cadre qui herite de la classe employé

    Je gere tous ca avec un collection mais me voila confronté au problème suivant :

    Pour afficher la liste de tous les employés du service je fait une boucle et je déclare l'objet i en Employe mais le problème est quand je veux appelé une méthode de la classe Cadre je peut pas.

    Et Si je déclare i en Cadre dès que je fait appel à un méthode de la classe cadre sur un objet qui est Employé le programme plante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach (Employe i in lesEmployes ) {
                   dGEmployes.Rows.Add(i.getNom(),i.getPnom(),i.getFonction(),i.getSalaire());
            }
    Je vois pas du tout comment faire
    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (i is Cadre)
    {
       ((Cadre)i).lamethodeducadre();
    }

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    En même temps c logique.
    Si tu parcoures une collection d'objet employé, tu ne pourras appeler que des méthodes de ce type.
    Il faut caster des objets en cadre lorsqu'ils sont de type cadre pour appeler les méthodes de cadres, comme le propose Skyrunner.

  4. #4
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut
    merci ca marche nickel

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

Discussions similaires

  1. Mapping hibernate - Heritage & Collections
    Par hipchic dans le forum Hibernate
    Réponses: 1
    Dernier message: 05/01/2007, 22h26
  2. [Postgres] Pb d'heritage...
    Par anonia dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/08/2003, 22h34
  3. [PostgreSQL] Question vis a vis de l'heritage...
    Par Gandalf dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 12/05/2003, 16h53
  4. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 13h20
  5. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h49

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