• Aucun résultat trouvé

JAVA : Relations entre classes « Gestion d’un zoo »

N/A
N/A
Protected

Academic year: 2022

Partager "JAVA : Relations entre classes « Gestion d’un zoo »"

Copied!
3
0
0

Texte intégral

(1)

Page 1

JAVA : 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 :

*

0..1 1..1

*

Espece -

- nom cri

: String : String +

+ +

<<Constructor>> Espece (String sonNom, String sonCri) getNom ()

getCri ()

: String : String Animal

- - -

nom age vivant

: String : int : boolean +

+ + + + + +

<<Constructor>> Animal (String sonNom, Espece sonEspece) getNom ()

estVivant () getEspece () toString () vieillir () mourrir ()

: String : bool ean : Espece : String : void

: void Zoo

- directeur : String +

+ +

<<Constructor>> Zoo () ajouterAnimal () nourrir ()

: void : ArrayList

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 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)

Page 2 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 « toString »)

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)

Page 3 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 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

Références

Documents relatifs

avec test automatique de débordement de tableau sans test automatique de débordement de tableau tableaux multidimensionnels pouvant être non réguliers. (les lignes d’une

Here is a RECURSIVE function to compute the Fibonacci sequence of number n.. But we need more memory to store values in

- la concaténation ( concat ), l'affichage ( afficheListe ) ainsi que deux méthodes d'initialisation de listes -pour les listes d'entiers uniquement- par des

Les rencontres sont prévisibles : le matériel (les feutres) est commun, les autres sont proches géographiquement (Philippe pince Freddy), on est tous dans

Citons pour exemple certains faits : rendre la manipulation d'ordinateur obligatoire à l'examen de fi n d'études secondaires ; créer une salle d'ordinateurs et prévoir dans l'emploi

- Une méthode de classe (modificateur static en Java) exécute une action indépendante d’une instance particulière de la classe. - Une méthode de classe peut être considérée

- Créez une classe Liquide contenant seulement une méthode imprimer() qui affiche : ”je suis un liquide”. - Créez 2 classes dérivées de la classe Liquide, les classes Cafe et

Une variable de type C peut faire référence à un objet de la classe C. hauteur