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

…/…