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

Java Discussion :

Héritage et méthode size


Sujet :

Java

  1. #1
    Membre confirmé Avatar de Kevin12
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Par défaut Héritage et méthode size
    Bonjour j'ai un petit soucis. J'ai deux classes : enfant et adulte qui héritent de la classe personne. Etant donné que j'ai une List de type Personne qui contient les différentes instances des deux classes (enfant et adulte) je voudrais savoir s'il est possible de connaître le nombre d'enfants et le nombre d'adultes que j'ai dans ma List.

    Merci

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, je vois 3 possibilités :
    - tu parcoures ta liste et utilise instanceof pour savoir de quelle classe il s'agit. (à éviter)
    - tu ajoutes un argument static privé dans enfant et dans adulte que tu incrémente à cahque appelle du constructeur puis tu le récupère par une fonction getNombre.
    - c'est ta classe qui contient la liste des personnes et qui instancies les enfants/adultes qui stocke leur nombre.

  3. #3
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Citation Envoyé par morph41 Voir le message
    - tu parcoures ta liste et utilise instanceof pour savoir de quelle classe il s'agit. (à éviter)
    Hum, pourquoi ?

    Citation Envoyé par morph41 Voir le message
    - tu ajoutes un argument static privé dans enfant et dans adulte que tu incrémente à cahque appelle du constructeur puis tu le récupère par une fonction getNombre.
    Ca c'est à éviter ! Parce que c'est pas thread-safe, parce que rien ne garantie qu'il n'y a pas d'autres instances de ces objets ailleurs, parce que c'est pas évolutif, parce que c'est pas maintenable, parce que c'est de la bidouille.

    Citation Envoyé par morph41 Voir le message
    - c'est ta classe qui contient la liste des personnes et qui instancies les enfants/adultes qui stocke leur nombre.
    Pourquoi pas effectivement faire une sous-classe de List qui contiendrait le nombre d'éléments de chaque type...

    M'enfin perso je ferais plutôt la solution 1 ! J'itère sur la liste, je check, je compte. C'est le plus simple et le moins crade.

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Je suis d'accord que rien n'est propre mais je croyais avoir appris en parcourant le forum que le instanceof était à proscrire? désolé... la prochaine fois je me demanderai aussi pourquoi.

  5. #5
    Membre confirmé Avatar de Kevin12
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Par défaut
    un exemple d'utilisation de instanceof ?

  6. #6
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Je vais essayer de me rattraper...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(personneX instanceof enfant)
        nombreEnfants++;
    else
        nombreAdultes++;

  7. #7
    Membre confirmé Avatar de Kevin12
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Par défaut
    Merci à vous deux. Au début je croyais que mes classes étaient mal conçues.

  8. #8
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    instanceof c'est pas la classe non je suis d'accord, mais ce n'est pas le pire dans ce cas là selon moi.
    M'enfin voilà de la lecture => http://bruce-eckel.developpez.com/li...aduction/tij2/

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

Discussions similaires

  1. Héritage de méthodes
    Par lvr dans le forum Langage
    Réponses: 12
    Dernier message: 12/09/2007, 09h20
  2. héritage et méthode abstraite
    Par troussepoil dans le forum C++
    Réponses: 13
    Dernier message: 30/03/2007, 09h51
  3. Exceptions, héritage et méthodes virtuelles
    Par Nuwanda dans le forum C++
    Réponses: 13
    Dernier message: 23/05/2006, 12h06
  4. Réponses: 8
    Dernier message: 04/06/2004, 09h13
  5. [Héritage] Redéfinition méthode
    Par petit-ourson dans le forum Langage
    Réponses: 9
    Dernier message: 06/05/2004, 16h06

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