21/01/06
JAVA TP n° 6 : Relations entre
classes
« Gestion d’un zoo »
Un
zoo souhaite pouvoir gérer l’ensemble de son parc animalier. Pour cela, il développe
une application basée sur un langage de programmation objet. L’ensemble des
classes à mettre en œuvre peut se schématiser grâce au diagramme UML
suivant :
1-Classe Espece :
Ø Ecrivez la classe Espece munie des attributs et méthodes
suivants :
-
Attributs
privés :
§
nom qui désigne le nom de
l’espèce (Oiseau, Lion etc…)
§
cri
qui désigne le cri des animaux de l’espèce concernée ("Cui-cui",
"Roar" etc…)
-
Méthodes
publiques :
§
public Espece(String sonNom, String sonCri)
=> constructeur qui
valorise le nom et le cri de l’espèce.
§
public getNom()
=> retourne le nom de
l’espèce.
§
public getCri()
=> retourne le cri
associé à l’espèce.
Ø Ecrivez une classe la classe
GestionZoo avec une méthode main
qui crée 3 espèces d’animaux et les affiche à l’écran (en utilisant les
getteurs de la classe Espece)
Exemple de résultat à obtenir :
C:>java GestionZoo
Le cri du Lion est: roare
…/…
2-Classe
Animal :
Ø Ecrivez la classe Animal munie des attributs et méthodes
suivants :
-
Attributs
privés :
§
nom : Chaîne => nom de
l’animal
§
age : Entier => age de l’animal
§
vivant : Booléen =>
désigne si l’animal est vivant ou non
Attention : Pour coder en Java la relation entre la classe Espece et la classe Animal, vous devez ajouter un attribut !
-
Méthodes
publiques :
§
public Animal(String sonNom, espece sonEspece)
=> constructeur qui
valorise le nom et l’espèce de l’animal
§
public String getNom()
=> retourne le nom l’animal.
§
public boolean estVivant()
=> indique si l’animal
est vivant.
§
public Espece getEspece()
=> retourne l’objet
Espece associé à l’animal.
§
public String toString()
=>
retourne le nom, le nom de l’espèce, le statut (vivant ou mort) ainsi que l’age
(courant s’il est vivant, de décès s’il est mort) de l’animal.
§
public void vieillir()
=> fait vieillir l’animal
d’un an s’il est vivant.
§
public void mourir()
=> fait mourir l’animal
s’il était vivant.
Ø Compéltez votre programme GestionZoo pour :
-
créer
quelques animaux
-
faire
vieillir un animal d’un an
-
faire
vieillir un animal de 4 ans
-
faire
mourir un animal
-
afficher
les animaux à l’écran (en utilisant la méthode « donnerInfos »)
Exemple de résultat à obtenir :
C:>java GestionZoo
…/…
Simba (Lion) : Vivant et age de 1 an(s)
Coco (Oiseau) : Vivant et age de 4 an(s)
Titi (Oiseau) : Vivant et age de 0 an(s)
Bourriquet (Ane) : Mort a l'age de 0 an(s)
…/…
3-Classe
Zoo :
Ø Ecrivez la classe Zoo
munie des attributs et méthodes suivants :
-
Attributs
privés :
§
directeur : Chaîne
Attention : Pour coder en Java la relation entre la classe Zoo et la classe Animal, vous devez ajouter un attribut !
-
Méthodes
publiques :
§
public Zoo(sonDirecteur :
Chaîne)
=> constructeur
qui valorise le nom de directeur
§
public void ajouterAnimal(nouvelAnimal
: animal)
=>
ajoute nouvelAnimal à la collection d’animaux du zoo courant
§
public ArrayList nourrir()
=> retourne une
collection contenant des chaînes de caractères. Chaque chaîne de caractères
contient le nom de l’animal et le cri (de joie) qu’il a poussé lorsqu’on l’a
nourri (Attention, les animaux morts ne
crient pas et ne mangent pas).
Ø Complétez votre programme GestionZoo pour :
-
créer
un zoo
-
faire
entrer quelques animaux au zoo
-
nourrir
les animaux
-
afficher
les cris de joie des animaux qu’ont poussé les animaux lors du repas
Exemple de résultat à obtenir :
C:>java GestionZoo
…/…
nourrir Simba roar
nourrir Coco cui-cui
…/…