TP5 – Héritage
Problème 1
Nous souhaitons aider un vétérinaire à gérer sa salle d’attente. Chaque vétérinaire est
caractérisé par son prénom, le nombre maximal des animaux dans la salle d’attente, le
nombre des animaux en attente, et la liste des animaux en attente.
Tout animal est décrit par son code (String), son age (int). Dans notre cas, un animal peut être
Dog ou Cat. Chaque Cat est idnetifié par sa couleur. Et chaque Dog est identifié par sa mission.
Partie1 : Animal
Créer la classe Animal en y ajoutant :
a. Les attributs
b. Un constructeur pour initialiser tous les attributs
c. Une fonction afficheToi() qui affiche les informations de l’animal
d. Une fonction equals(Animal A) : renvoie true si l’animal courant et l’animal
passé en argument possèdent le même code, false sinon
Partie2 : Dog et Cat
1- Créer la classe Cat en y ajoutant :
a. Le (les) attributs
b. Un constructeur pour initialiser tous les champs
c. Une fonction soud() qui affiche le message « Miaw Miaw !!! »
d. Une fonction afficheToi() qui affiche toutes les informations du Cat
2- Créer la classe Dog en y ajoutant :
a. Le (les) attributs
b. Un constructeur pour initialiser tous les champs
c. Une fonction soud() qui affiche le message « Hab Hab !!! »
d. Une fonction afficheToi() qui affiche toutes les informations du Dog
3- Créer une classe Test contenant une fonction main et y ajouter la création de 3 Cat et
de 3 dog comme suit :
Objet Informations
C1 Code = "12C", age =12, couleur= "blanc"
D1 Code= "13D", age= 5, mission = "garde"
C2 Code = "14C", age=20, couleur = "noir"
D2 Code = "15D", age=3, mission="rien"
C3 Code= "16C", age= 10, couleur= "blanc"
D3 Code = "17D", age= 13, mission= "rien"
Page 1 sur 2
Partie3 : Veterinaire
1- Créer la classe Veterinaire en y ajoutant :
a. Les attributs : prénom, nbr (nbr des animaux en attente), nbr_max (nombre
maximal des animaux), animauxAttente (un tableau contenant la liste des
animaux en attente)
b. Un constructeur avec 2 arguments : Veterinaire(String prenom, int nbr_nax)
c. Une fonction affiche() qui affiche les informations de tous les animaux dans la
salle d’attente
d. Une fonction recherche(Animal A) : qui renvoie l’indice de l’animal A dans le
tableau animauxAttente s’il existe, -1 sinon.
e. Une fonction qui ajoute un nouvel Animal à la liste d’attente (si la salle n’est
pas encore pleine et s’il n’existe pas déjà dans la liste des animaux en
attente). Afficher des messages en cas d’erreur et en cas d’ajout avec succès.
f. Une fonction qui renvoie le nombre des Dog présents dans la salle d’attente.
g. Une fonction qui affiche les Dogs présents dans la salle d’attente
h. Une fonction afficheCat(String couleur) qui affiche les Cat ayant une couleur
donnée en argument.
i. Une fonction afficheParAge(int age) : qui affiche les animaux ayant une age
supérieure à celle fournie en argument
j. Une fonction supprime(Animal A) : qui supprime l’animal A de la liste des
animaux s’il existe. Afficher un message en cas d’échec et en cas de succès de
suppression.
2- Ajouter dans la classe Test le code nécessaire pour :
a. Créer un vétérinaire
b. Ajouter les animaux déjà créés à la liste des animauxAttente
c. Afficher les infromatiosn relatives aux animauxAttente.
d. Afficher les Cat de couleur blanc
e. Afficher le nombre de Dogs dans la salle
f. Supprimer le dog D2 de la liste.
Page 2 sur 2