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 :

Jeu Vampires/Humains - Problème conception


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2011
    Messages : 257
    Par défaut Jeu Vampires/Humains - Problème conception
    Bonjour,

    je travaille sur un exercice de conception en java et je ne comprends pas.
    l'objectif est de compléter du code et de construire le diagramme de classes

    l'exercice est un jeu de Vampire/Humains et permet de créer des personnages
    on dispose des classes suivantes (les constructeurs ne sont pas précisés) :
    - Interface IIndividu
    - Classe abstraite AIndividu qui implémente IIndividu
    - Classe Vampire qui hérite de AIndividu
    - Classe Humain qui hérite de AIndividu
    - Classe Heros qui hérite de Humain
    - Classe Population qui hérite de ArrayList<Individu>
    - Classe Jeu

    La population est créée dans la classe Jeu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Population population = new Population();
    new Humain().add(population); //on créé un humain et on appelle la méthode d'ajout de la classe Humain
    La méthode add de la classe Humain :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    @Override
    public void add(Population pop){
    super.add(pop) ;
    pop.nbHumains++;
    }
    Je ne comprends pas la façon de créer la population qui est inverse à ce que j'aurais fait.
    J'aurais créé des personnages (Humains, Vampire, Heros) que j'aurais ajouté à ma population :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Population population = new Population(); //on créé une population
    population.add(new Humain()); //on ajoute un humain à la population
    Quelqu'un peut m'expliquer le concept et pourquoi on fait comme çà ?
    d'avance merci,

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    chuis d'accord avec toi, mais il y a juste un truc à voir : la variable nbHumains et cette ligne :

    Elle sert à compter un humain de plus quand on ajoute un humain dans la population. Donc il faut pas y toucher quand on ajoute un vampire.
    Ajouter au compte d'humains c'est un comportement propre à la classe Humain, les autres classes n'étant soit pas concernées, soit devant faire autre chose à la place (genre nbVampires++).

    Donc si c'est pas la classe Humain qui s'en occupe, comment tu fais ?

    Non mais c'est tout en fait, il y a pas à chercher plus loin que ça. C'est pour ça qu'ils ont fait ça. Parce que comment tu fais autrement ?

    Moi, qui suis plutôt de ton avis, j'aurais réglé la question ainsi :

    - On hérite jamais d'une classe de collection. La classe Population doit contenir une ArrayList<Individu> ou quelque chose de similaire, mais pas l'étendre.
    - Maintenant que Population est son propre type et n'hérite de rien du tout, on peut lui donner proprement deux méthodes, add(Humain) et add(Vampire).
    - Du coup nbHumains++ est dans la méthode add(Humain). Merci au revoir.

    Mais ce n'est pas très bon pour quand il existe des centaines d'espèces différentes en plus de humain et vampire. Ouais ben avoir un champ nbHumains c'est pas très bon pour ça non plus. Quand on gère autrement, on a plus le même problème de toute façon.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2011
    Messages : 257
    Par défaut
    ok, merci+++ pour ces explications
    c'est un peu plus clair pour moi

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

Discussions similaires

  1. Jeu du pendu : problème de boucle
    Par hitman_47 dans le forum Pascal
    Réponses: 31
    Dernier message: 03/01/2008, 19h58
  2. Problème conception base de données
    Par rico3030 dans le forum Schéma
    Réponses: 5
    Dernier message: 17/09/2007, 17h46
  3. Sockets et problème concept
    Par PoZZyX dans le forum Réseau
    Réponses: 23
    Dernier message: 22/04/2006, 18h14
  4. Problème conception table
    Par Ouark dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/01/2006, 16h49
  5. [N-Tier] Problème conception architecture 3-tiers
    Par Royd938 dans le forum Autres
    Réponses: 3
    Dernier message: 17/06/2005, 11h47

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