TP : N°4 Module : POO- JAVA
Filière : IID1. Prof : Noreddine GHERABI
Objectifs :
" Les classes abstraites
" polymorphisme via les classes abstraites
Le directeur d'une entreprise de produits informatique souhaite gérer les salaires et primes de ses
employés au moyen d'un programme Java.
Un salarie est caractérisé par son nom, son prénom, son âge, son statut et sa date d'embauche.
L’objectif est de coder une classe abstraite « Salarie» dotée des attributs nécessaires, d'une
méthode abstraite « Salaire » (ce calcul dépendra en effet du type de salarie). Une méthode
« getAge » qui retourne l’âge du salarie, La classe contient aussi une méthode « getNom »
retournant une chaine de caractère obtenue en concaténant la chaine de caractères "le salarie :"
avec le prénom et le nom. Exemple :« le salarie : said alami »
N’oubliez pas un constructeur prenant en paramètre l'ensemble des attributs nécessaires.
Partie I : Calcul du salaire
Le calcul du salaire mensuel dépend du statut du salarie. On distingue deux types des salaries ( les
commerciaux et les agents de production)
Il existe les commerciaux affectés à la Vente et les autres à la présentation des produits :
- Le salaire mensuel des commerciaux à la Vente est le 30 % du chiffre d'affaire qu'ils réalisent
mensuellement, plus un bonus de 600dh. Et les commerciaux affectés à la présentation. Leur
salaire mensuel est également le 25 % du chiffre d'affaire qu'ils réalisent mensuellement, plus
un bonus de 750DH.
Les agents de production eux aussi sont trois types, les ingénieurs et les techniciens et les
ouvriers.
Le salaire des ingénieurs vaut le nombre de projets réalisés multipliés par 10 plus un bonus de
400DH, quand aux techniciens, leur salaire vaut le nombre d’heures de travail mensuel
multipliés par 20dh et le salaire des ouvriers est le nombre d’unités produites multipliés par 5.
Codez dans votre fichier JAVA une hiérarchie de classes pour les salaries en respectant les
conditions suivantes :
! La super-classe de la hiérarchie doit être la classe « Salarie ».
! Les nouvelles classes doivent contenir les attributs qui leur sont spécifiques ainsi que le
codage approprié des méthodes « Salaire » et getNom, en changeant le mot "le salarie" par
la catégorie correspondante et « getAge ».
! Chaque sous classe est dotée de constructeur prenant en argument l'ensemble des attributs
nécessaires.
! N'hésitez pas à introduire des classes intermédiaires pour éviter au maximum les
redondances d'attributs et de méthodes dans les sous-classes.
Partie II : Calcul des primes
Nous voulons donner des primes mensuels aux salaries de types ouvriers et commerciaux :
- Pour les commerciaux, leur prime est calculée selon le chiffre d’affaire (CA) réalisé, si
CA> 50000dh le prime est 500 dh sinon si CA> 100000dh le prime sera 900dh
- Pour les ouvriers, la prime est calculée selon le nombre d’heures travaillées mensuel si le
nombre d’heures > 240 la prime vaut 2% du salaire.
o Complétez votre programme en introduisant deux nouvelles sous-classes Salarie. Ces
sous-classes désigneront les salaries de type ingénieur et ouvrier.
o Ajouter également à votre programme une interface pour ces deux types de salaries
permettant de leur associer une prime selon les critères en dessus.
ENSA Khouribga