Académique Documents
Professionnel Documents
Culture Documents
tp4 Java2022
tp4 Java2022
Exercice 1 : Héritage
La représentation UML d’une bouteille de lait et d’une bouteille de vin est la
suivante :
bouteilleDeLait bouteilleDeVin
+ contenance : reel + contenance : reel
+ dateMiseEnBout : date + dateMiseEnBout : date
- DatePéremption : date + couleur : chaîne
1- Ecrire les classes représentant une bouteille de lait et d’une bouteille de vin,
n’oublier pas d’ajouter les accesseurs (get_contenance , etc…)
2- Ecrire une classe TestBouteille qui nous permet de créer une bouteille (B_lait) de
lait et une bouteille (B_vin) de vin. Afficher la contenance de chaque bouteille
ainsi que leur date de mise en bouteille.
3- Est-ce que vous constatez que les deux objets ont des points communs ?
Proposer une solution pour éliminer les doublons.
4- Est-ce que vous êtes obligés de modifier votre classe TestBouteille ?
5- Dans votre classe TestBouteille, ajouter les instructions suivantes :
Bouteille B= B_lait ;
System.out.println(B. get_contenance()) ;
Compiler la classe TestBouteille , est-ce que vous constatez des erreurs lors de la
compilation ? ou de l’exécution ?
6- Dans votre classe TestBouteille, ajouter les instructions suivantess :
Bouteille B= new Bouteille() ;
BouteilleDeLait B_Lait2=B ;
System.out.println(B_Lait2. get_contenance()) ;
Compiler la classe TestBouteille , est-ce que vous constatez des erreurs lors de la
compilation ? ou de l’exécution ? expliquer ?
M.Ouanan TP Java 1
TP N°4 : Héritage et polymorphisme
8- Dans les classe Lion, Ours et Autruche redéfinir la méthode dormir() (par exemple
la méthode dormir() de la classe Ours affiche «je dors dans un arbre», etc…)
9- Qu’appelle t’on le mécanisme de redéfinition d’une méthode ?
10-Ecrire une classe TestAnimal qui contient le code suivant :
public class TestAnimal {
public static void main(String argv[]){
Autriche A= new Autruche() ;
Lion L= new Lion();
A.dormir();
L.dormir();
Animal A1= new Animal(2);
A1.dormir() ;
Animal A2= L ;
A2.dormir() ;
}
}
Quels sont les résultats affichés ? Est-ce que l’instruction A2.dormir() invoque la
méthode dormir de la classe Animal ou bien celle de la classe Lion , justifier votre
réponse?
M.Ouanan TP Java 2