Vous êtes sur la page 1sur 4

I.S.E.

T Bizerte TP6 : Héritage et polymorphisme

TP N°6
Héritage
Polymorphisme

Objectifs Temps alloué Outils


- Exploitez le concept d’héritage. 3h00 Eclipse
- Appliquez les notions relatives au
polymorphisme.

Exercice :
1) Reprendre la classe « Point » du TP précédent:
2) A partir de cette classe créer une classe « pointcol » qui représente des points
colorés : elle représente donc une classe plus spéciale que la classe point, et donc
elle doit hériter de la classe point.

3) La classe « PointCol » contient des propriétés et des méthodes supplémentaires


portant sur la couleur du point.
En mode RVB, une couleur est définie par trois valeurs comprise entre 0 et 255, la
première correspondant à la composante rouge, la deuxième pour la verte et la
troisième valeur pour la composante bleu.
Ajouter à cette classe :
➢ Trois attributs de type entier.
➢ Un constructeur qui initialise les attributs de la classe (les mettre tous à
zéro par défaut), et un autre qui permet d’initialiser tous les attributs de
l’objet y compris ceux hérités.
➢ Une fonction qui modifie la couleur du point.
➢ Une fonction qui affiche l’emplacement du point ainsi que sa couleur sous
la forme : « (R=10 ; V=128 ; B=250) ».
4) Ecrire un programme de test de la classe « PointCol »: utiliser un point coloré,
initialiser le puis modifier et afficher ses coordonnées et sa couleur.
Peut-on affecter un objet Point à un autre PointCol ? Le contraire est-il possible ?
Réalisez un exemple qui permet de tester le concept de polymorphisme, la
restriction de méthode et la ligature dynamique.

Page | 1
I.S.E.T Bizerte TP6 : Héritage et polymorphisme

Problème :

On veut écrire un programme Java capable de gérer le personnel employé par une
entreprise. Dans cette entreprise, tout salarié est identifié par un numéro de matricule
(Matricule), un nom (Nom) et l’année de son recrutement (Recrutement).
Les salariés sont de deux catégories différentes :
➢ Les employés sont des salariés qui reçoivent un salaire fixe comme ils sont payés
pour les heures supplémentaires. Ce montant est calculé en fonction du nombre
d’heures supplémentaires effectuées (Hsupp) et le taux de rémunération par
heure supplémentaire (PHsupp).
➢ Les vendeurs sont des salariés qui touchent de même un salaire fixe, mais ils
touchent en plus une commission supplémentaire calculée en fonction d’un
certain pourcentage sur les ventes réalisées dans le mois. Cette commission est
calculée en fonction du taux de vente en dinars effectuée par mois (Vente) et du
pourcentage sur ce taux de vente (Pourcentage).

A. On vous demande d’implémenter les classes suivantes :


1. Classe Salarie :
Attributs :
Matricule (int), Nom(String), Recrutement (Double) ;
Méthodes :
• Constructeur permettant d’initialiser tous les attributs de la classe.
• Les accesseurs et les modificateur de chaque attribut
• Affiche( ) : afficher les caractéristiques d’un salarié ;
• Salaire( ) : retourne le salaire d’un salarié sous format double en fonction de sa date de
recrutement, si le recrutement à été effectué avant l’année 2005 le salaire est de 400
Dinars, sinon il est de 280 dinars.

2. Classe Employe hérite de Salarie:


Attributs :
Hsupp (double), PHsupp(double);

Page | 2
I.S.E.T Bizerte TP6 : Héritage et polymorphisme

Méthodes :
• Constructeur de la classe
• Les accesseurs et les modificateurs des attributs de la classe
• Affiche( ) : afficher les caractéristiques d’un employé en redéfinissant la méthode
Affiche( ) de la classe salarié;
• Salaire( ) : retourne le salaire d’un employé en redéfinissant la méthode Salaire de la
classe Salarie.

3. Classe Vendeur hérite de Salarie:


Attributs :
Vente (double), Pourcentage (double);
Méthodes :
• Constructeur de la classe
• Les accesseurs et les modificateurs de la classe
• Affiche( ) : afficher les caractéristiques d’un vendeur en redéfinissant la méthode
Affiche( ) de la classe salarie;
• Salaire() : retourne le salaire d’un vendeur en redéfinissant la méthode Salaire de la
classe Salarie.

NB : Les attributs de toutes les classes sont privés.


Prévoir toutes les méthodes de construction (constructeur), d’accès (getters) et de
modification (setters) des attributs.

B. Dans une classe Entreprise contenant la méthode main(), effectuer les


opérations suivantes :
1. Déclarer un tableau tabSalarie[ ] de type Salarie de taille 5.
2. Remplir le tableau tabSalarie[ ] par les objets suivants :
· Employe(12345,"Walid",2002,15,4);
· Vendeur(23445,"Yessine",2007,1000,0.1);
· Vendeur(65478,"Nassime",2000,700,0.1);
· Employe(87698,"Aymen ",2003,19,5);
· Employe(12345,"Khaled",2008,7,4);

Page | 3
I.S.E.T Bizerte TP6 : Héritage et polymorphisme

3. A partir du tableau tabSalarie[ ], effectuer les opérations suivantes :


3.1 Afficher comme suit, toutes les informations concernant les employés :
******************************** Liste des Employés*****************************
Matricule= 12345 ,Nom= Walid, Année de recrutement= 2002, nombre d'heures supplémentaires=15.0 et prix par heure
supplémentaire= 4.0
Matricule= 87698 ,Nom= Aymen, Année de recrutement= 2003, nombre d'heures supplémentaires=19.0 et prix par heure
supplémentaire= 5.0
Matricule= 12345 ,Nom= Khaled, Année de recrutement= 2008, nombre d'heures supplémentaires=7.0 et prix par heure
supplémentaire= 4.0

*****************************************************************************

3.2 Afficher comme suit, toutes les informations concernant les Vendeurs :
********************************** Liste des Vendeurs ***************************

Matricule= 23445 ,Nom= Yessine, Année de recrutement= 2007, total des ventes par mois (Dinars)=1000.0 et pourcentage sur les
ventes: 0.1 %
Matricule= 65478 ,Nom= Nassime, Année de recrutement= 2000, total des ventes par mois (Dinars)=700.0 et pourcentage sur les
ventes: 0.1 %

*****************************************************************************

3.3 Afficher comme suit, le nom du salarié le plus ancien :


******************* Nom du salarié le plus ancien dans l'entreprise ********************

Nom: Nassime recruté en l’an 2000

*****************************************************************************

3.4 Afficher comme suit, le matricule du vendeur qui a le plus grand salaire
:
****************** Matricule du vendeur disposant du plus grand salaire ****************

Matricule=65478 de salaire= 470.0 Dt

*****************************************************************************

Page | 4

Vous aimerez peut-être aussi