Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Inscrit en
    mai 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 1
    Points : 0
    Points
    0

    Par défaut Programme de "gestion animalière"

    Bonjour,

    Je suis étudiant en bts ig et projette d'effectuer un programme orienté objet.

    Mon programme est un programme de gestion d'animaux domestiques.

    On fait rentrer à l'utilisateur une liste d'animaux domestiques qu'il a eu.
    Chaque animal appartient à un ordre, mammifère, reptile et autre (je pense faire une liste d'animaux reconnus parmi les mammifères, le chien, le chat et autres reptiles (serpent,lézard).
    Si l'utilisateur entre un nom d'animal qui présente une dangerosité, ce sera signalé, et si l'animal présente une incompatibilité avec un animal déjà possédé, le programme en avertit l'utilisateur.

    Je veux que le programme puisse
    -indiquer combien d'animaux possède le propriétaire.
    -Combien appartiennent à un ordre donné: si j'ai 3 chiens je possède 3 mammifères par exemple.
    -Une alerte indiquant que l'animal ne figure dans aucune liste établie et que l'on peut le faire appartenir à un nouvel ordre, style les amphibiens.
    -une alerte qui dit que l'animal est dangereux pour un autre et peut vouloir en faire son repas.
    -une alerte qui me dit que l'animal est déconseillé car ne figurant pas sur la liste des animaux mignons et me propose alors d'acquérir un animal mignon
    -une méthode qui compare les animaux acquit et indique s'il y a possibilité de reproduction entre eux.
    -une méthode pour afficher une vraie image de l'animal lorsqu'il est choisi.

    Je pensais pour cela faire
    une classe animaux avec comme méthode, senourrir(), communiquer(), sociabilité()
    senourrir() varie selon chaque objet, l'objet chien mange de la pâtée, l'objet serpent mange des souris, or souris est un animal domestique mignon qui risque de mourrir...
    communiquer() est polymorphe aussi puisqu'un serpent ne parle pas, mais un chat fait miaouw
    sociabilité() indiquerait selon l'animal s'il peut cohabiter avec un autre (un chien et un chat, ou un lapin et un tigre), en fait je veux que ce soit une part d'aléatoire avec un facteur fixe, un carnivore mange des petits carnivores ou herbivore mais peut épargner un autre s'il a mangé avant. (je ne sais pas où faire figurer ces lois de la nature en fait)

    Bien sûr si je vais établir des listes ça ne collera pas parfaitement à la réalité mais ce n'est pas vraiment l'objet du travail. C'est plutôt de montrer que je manipule des objets et des méthodes avec ce qui plaît à des professeurs.

    En héritage la classe des animaux correspondants, la classe chien, la classe chat.


    Qu'en pensez-vous?

  2. #2
    Membre expérimenté
    Inscrit en
    mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : mars 2010
    Messages : 439
    Points : 520
    Points
    520

    Par défaut

    l'héritage bof bof ici, deux objet d'une même classe ont les même méthodes et des attributs similaires (dans le type pas dans la valeur) donc soit tu restreins ta vision à des attributs commun à tous tes animaux soit tu va devoir faire une classe par animal. Un chien n'est pas un chat, il diffère dans leur nature pas dans leurs "méthodes" ou leurs "attributs".

  3. #3
    Membre éprouvé
    Inscrit en
    avril 2008
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 342
    Points : 404
    Points
    404

    Par défaut

    une interface animal peut être plus qu'une class ?

  4. #4
    Nouveau Membre du Club
    Inscrit en
    avril 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 28
    Points : 28
    Points
    28

    Par défaut

    Ou une classe abstraite "Animaux" (ou "Animal" comme tu veus) serait pas mal je pense, après tu n'a plus qu'a redefinir les methodes.

    Sinon tu peus faire aussi une classe "Proprietaire", qui a une List d'Animaux ....

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro Renaud Warnotte
    Développeur informatique
    Inscrit en
    août 2006
    Messages
    2 628
    Détails du profil
    Informations personnelles :
    Nom : Homme Renaud Warnotte
    Âge : 33
    Localisation : Belgique

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

    Informations forums :
    Inscription : août 2006
    Messages : 2 628
    Points : 4 952
    Points
    4 952

    Par défaut

    Citation Envoyé par snowpy Voir le message
    Un chien n'est pas un chat, il diffère dans leur nature pas dans leurs "méthodes" ou leurs "attributs".
    Un chien et un chat savent "marcher", "parler", "manger" donc certains methodes ne vont changer que dans leur implementation.
    De plus ils ont tout les 2 N pattes, une vitesse de marche de course. Moi je verrais tres bien une ou des interfaces, ainsi qu'un heritage mammifere->chien et chat par exemple.

  6. #6
    Membre régulier
    Inscrit en
    novembre 2007
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : novembre 2007
    Messages : 184
    Points : 79
    Points
    79

    Par défaut

    Je pense aussi qu'il faudrait de l'héritage ici !
    Pour ma part je ferai une structure de classe du genre :

    abstract Animal (propriété genre date de naissance, espérance vie...)
    / \ (et méthode genre manger, parler...)
    / \
    abstract Mammifère abstract Reptile
    / \ ...
    Chien Chat

    Au niveau de Mammifère, définit des méthodes et attributs qui ne concernent pas les reptiles (j'ai pas d'exemple qui me vient comme ça, mais il doit y en avoir) et au niveau de chien et chat, des attributs et méthodes très spécifiques (genre longueur des moustaches pour le chat, nombre de nonos enterrés dans la jardin pour le chien...)

    ça te permettra d'avoir tous les avantages que peut offrir le polymorphisme, en mettant tes signatures de méthodes le plus haut possible dans ta structure de classe ( par exemple, accéder à l'espérance de vie de n'importe quel animal sans te soucier quel type d'animal c'est).
    Si à des endroits tu veux avoir une structure qui contient tous tes animaux, tu pourra faire une ArrayList<Animal> sans te soucier du type d'animal que tu met dedans... enfin plain d'avantages quoi

    En espérant que ça t'aidera !

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •