Royaume du Maroc Développement Logiciel
Ecole Nationale Supérieure des Mines TD
de Rabat
Exercice .1
1)
a- Créez une classe Produit qui aura des attributs privés : nom, prix (hors taxe) et description.
b- Dotez la classe Produit des constructeurs. Ils pourront admettre trois arguments (nom, prix et
description), deux arguments (nom et prix), un seul argument (Produit), ou bien aucun argument.
c- Écrire les méthodes :
saisir() pour saisir un produit par le clavier,
getPrix() pour retourner le prix,
getPrixTTC() pour retourner le prix avec TVA(20%)
et toString() pour représenter un produit:
Produit : <nom>
< description>
Prix : < prix> Dh TTC.
2)
a- Écrire la classe ProduitEnSolde qui hérite la classe Produit et a un attribut supplémentaire
: remise qui représente le pourcentage de la réduction sur le prix d'origine.
b- Les constructeurs doit faire appel aux constructeurs de la classe Produit et définir l’attribut
supplémentaire. Ils pourront admettre quatre arguments, trois arguments, un seul argument
(ProduitEnSolde), ou bien aucun argument.
c- Redéfinissez dans cette classe les méthodes saisir(), getPrix(), et getPrixTTC() de la classe
Produit.
d- Définissez la méthode toString() pour représenter un ProduitEnSolde:
Produit : <nom>
< description>
Prix : < prix d'origine>(-<remise>%) = < prix soldé >Dh TTC.
et précisez les changements apportés à la classe Produit.
3) Écrire un programme pour tester ces classes.
1
Royaume du Maroc Développement Logiciel
Ecole Nationale Supérieure des Mines TD
de Rabat
Exercice .2
Nous souhaitons informatiser la gestion du personnel dans une entreprise.
A. Classe Personne
A.1. Écrivez une classe Personne avec les attributs privés suivants :
• cin : le numéro de la carte d’identité;
• nom : le nom de famille de la personne;
• prenom : le prénom de la personne;
• age : l'âge de la personne.
A.2. La classe Personne doit disposer des constructeurs suivants :
• Personne();
• Personne(cin, nom, prenom, age);
• Personne(Personne).
A.3. Redéfinissez la méthode toString() donnant une représentation de la classe Personne pour avoir la
sortie écran adéquate avec la démo suivante :
* Nom : KADIRI Tarik ; CIN : UA1818 ; âge : 37 ans
* Nom : SANCHEZ Emilie ; CIN : BH33544 ; âge : 26 ans
B. Classe Technicien
B.1. Ecrivez une classe Technicien qui hérite de la classe Personne et ayant comme attributs :
• salaire : le salaire de technicien;
• grade : le grade de technicien, qui peut prendre les valeurs 1,2 ou 3.
B.2. La classe Technicien doit disposer des constructeurs suivants :
• Technicien();
• Technicien(cin, nom, prenom, age, salaire, grade);
• Technicien(Technicien).
B.3. Ecrivez les accesseurs et mutateurs (getter/setters) pour l’attribut salaire.
B.4. Ecrivez la méthode getPrime() qui retourne la prime:
• Si le grade égale á 1 alors la prime est de 10% du salaire
• Si le grade égale á 2 alors la prime est de 25% du salaire
• Si le grade égale á 3 alors la prime est de 55% du salaire
B.5. Redéfinissez la méthode toString() donnant une représentation de la classe Technicien pour avoir la
sortie écran adéquate avec la démo ci-après
* Technicien: GOURAM Dalila ; âge : 35 ans ; CIN : FD4168 ; Salaire : 8000.0DH
* Technicien: KATIR Ali; âge : 46 ans ; CIN : BH33544; Salaire : 12000.0DH
et précisez les changements apportés à la classe Personne
C. Classe Equipe
C.1. Ecrivez une classe Equipe qui se compose de 3 techniciens
C.2. La classe Manager doit disposer des constructeurs suivants :
• Equipe();
• Equipe(Technicien, Technicien, Technicien);
• Equipe(Equipe).
C.3. Ecrivez la méthode getSalaireEquipe() qui renvoie la somme des salaires des techniciens.
C.4. Ecrivez la méthode getPrimeEquipe() qui renvoie la somme des primes des techniciens.