21/01/06
JAVA TP n° 6 corrigé : Relations
entre classes
« Gestion d’un zoo »
public class Espece {
private String nom;
private String cri;
public Espece(String sonNom, String
sonCri) {
this.nom = sonNom;
this.cri = sonCri;
}
public String getNom() {
return this.nom;
}
public String getCri() {
return this.cri;
}
}
public class Animal {
String nom;
boolean vivant;
int age;
Espece espece;
Animal(String sonNom, Espece
sonEspece) {
nom = sonNom;
vivant = true;
age = 0;
this.espece =
sonEspece;
}
public String getNom() {
return this.nom;
}
public Espece getEspece() {
return this.espece;
}
public boolean estVivant() {
return this.vivant;
}
public void vieillir() {
if (vivant == true) {
this.age += 1;
}
}
public String toString() {
if (vivant == true) {
return nom+"
("+espece.getNom()+") : Vivant et age de "+age+"
an(s)";
}
else {
return nom+"
("+espece.getNom()+") : Mort a l'age de "+age+"
an(s)";
}
}
public void mourir() {
if (vivant == true) {
vivant = false;
}
}
}
import java.util.*;
class Zoo {
private String directeur;
private ArrayList animaux;
public Zoo (String
nouveauDirecteur) {
this.directeur = nouveauDirecteur;
this.animaux = new
ArrayList();
}
public void ajouterAnimal (Animal
nouvelAnimal) {
this.animaux.add(nouvelAnimal);
}
public ArrayList nourrir() {
ArrayList cris = new
ArrayList();
for (int i=0; i <
this.animaux.size() ; i++) {
Animal
animalCourant = (Animal)(animaux.get(i));
if
(animalCourant.estVivant()){
String
cri="nourrir "+(animalCourant.getNom())+"
"+(animalCourant.getEspece().getCri());
cris.add(cri);
}
}
return cris;
}}
import java.util.*;
public class GestionZoo {
public static void main(String[]
args) {
Espece lion = new
Espece("Lion", "roar");
Espece oiseau = new
Espece("Oiseau", "cui-cui");
Espece ane = new Espece
("Ane", "hi-han");
String text = "Le cri
du "+lion.getNom()+" est: "+lion.getCri();
System.out.println(text);
Animal simba = new
Animal("Simba", lion);
Animal coco = new Animal("Coco", oiseau);
Animal titi = new Animal("Titi", oiseau);
Animal bourriquet = new
Animal("Bourriquet", ane);
simba.vieillir();
for (int i=0; i<4;i++) {
coco.vieillir();
}
bourriquet.mourir();
System.out.println(simba.toString());
System.out.println(coco. toString());
System.out.println(titi. toString());
System.out.println(bourriquet.
toString());
Zoo daktari = new
Zoo("James");
daktari.ajouterAnimal(simba);
daktari.ajouterAnimal(coco);
daktari.ajouterAnimal(bourriquet);
ArrayList cris =
daktari.nourrir();
for (int i=0; i<
cris.size() ; i++){
System.out.println(cris.get(i));
}
}}