Vous êtes sur la page 1sur 2

L2 Informatique Institut Supérieur d'Informatique

et Mathématiques de Monastir
AU 2023/2024

TP
Département d'Informatique
Programmation Orientée Objet JAVA

Heritage en java

Considérons l’exemple suivant:

Q1. Créer un projet InheritanceApp avec une class main InheritanceTest


rajouter toute les classes sur le diagramme

Q2. Implementer la méthode setValues dans la classe Shape

Q3. Implementer la méthode getArea() pour returner la valuer de area


(la surface) des deux classes rectangle and triangle (surface d’un
triangle: (Height x base)/2 ).

Q4. Dans la classe main InheritanceTest, créer un object objR de la


classe Rectangle.

Q5. Entrer les valeurs (height et width) a l’aide du clavier: utiliser la


méthode setValues pour mettre à jour les dimensions de objR.
Q6. Afficher la valeur de la surface (area) du rectangle.

Partie 2 : Créer an objet objT de la classe Triangle.

Q7. Modifier setValues() pour objT (Height et Base dans le cas du


triangle).

Q8. Affiche la surface du Triangle.

Q9. Ajouter une méthode abstraite appeler display() dans la super-classe;


implementer display() dans les sous-classes; elles doivent afficher les
messages:
• "The area of the rectangle is ..." pour la classe Rectangle.
• "The area of the triangle is ..." pour la classe Triangle.

Q10. Afficher les surfaces des deux formes déjà créer en utilisant la
méthode display.

Q11. Remplacer les modifieurs private des attributs par protected et utiliser
directement les attributes (a la place de getHeight() et getWidth()) dans les
methodes getArea(). Executer le programme.
Q12. remplacer setValues() dans la super-class, par le constructeur pour
l’initialisation des attributs, ajouter les modifications necessaire.

Partie 3 :

Dans la méthode main créer une table de Shape (remplisser avec des objets
Rectangle et des objets Triangle)

Rajouter la boucle suivante pour afficher seulement les rectangles

for(Shape sh: Shapes){

System.out.println(sh.getClass().getName());

if(sh instanceof Rectangle){

System.out.println(sh.display());

Vous aimerez peut-être aussi