Vous êtes sur la page 1sur 2

Département d’Informatique Année universitaire 2020/2021

Faculté des sciences POO-Java


Université Mohammed Premier Filière SMI
Oujda Semestre 5

TP numéro 2

Objectifs
— Héritage ; Redéfinition ; Polymorphisme.

Exercice 1
Considèrons le diagramme de classes présenté dans la figure 1.
1. Programmer les cinq classes en considèrant les remarques suivantes :
— les attributs dateNaissance, dateEntree et anneeScolaire sont de type entier ;
— la mèthode afficher() doit être redéfinie pour chaque classe (sauf pour Secretaire) ;
2. Dans une classe principale, crèer pour chaque classe un objet qui l’instancie.
3. Appeler la mèthode afficher() pour chaque objet et citer vos remarques.

Figure 1 – Fig.1

Exercice 2
Considèrons le diagramme de classes présenté dans la figure 2.
1. Programmer les classes Personne, Compte et Client.
2. Dans la classe principale, instancier un objet de type Client qui a un seul compte.

1
Figure 2 – Fig.2

Exercice 3
1. Ecrire une classe Point avec :
— deux coordonnées x et y de type rèel ;
— un constructeur de deux arguments ;
— une mèthode afficher().
2. Ecrire une classe PointColore qui hérite de la classe Point, et qui ajoute :
— un champ couleur pour définir la couleur de ce point ;
— une mèthode afficher() pour afficher les coordonnées et la couleur.
3. Dans une classe de test, considérons les instructions suivantes :
Point p = new P o i n t C o l o r e ( 4 , 8 , "Rouge" ) ;
p. afficher ();

Quelle méthode est appelée avec ce code ? afficher() de Point ou de PointColore ?

Exercice 4
1. Créer une classe FormeFigure qui contient :
— les attributs x et y : coordonnées du centre de la FormeFigure ;
— un constructeur ;
— une méthode afficher() qui affiche une chaine de la forme : “Je suis une formeFigure
de centre x et y”.
2. Créer une classe Rectangle qui hérite de la classe FormeFigure et qui définit un rec-
tangle par sa position dans le plan (centre de coordonnées x et y), par sa longueur et sa
largeur.
3. Créer une classe Cercle qui hérite de la classe FormeFigure et qui définit un cercle par
sa position dans le plan (centre de coordonnées x et y) et son rayon.
4. Redéfinir la mèthode afficher() dans Rectangle.java et Cercle.java en affichant les
informations relatives à chaque forme géométrique.
5. Écrire une classe Forme qui contient une méthode main(), et qui fait appel aux trois
classes décrites précédemment.

Vous aimerez peut-être aussi