Vous êtes sur la page 1sur 3

Programmation Orientée Objet - Semestre 2 – 2019-2020 – 1 ère année TA - ENSTAB

TP 4 Héritage

Exercice 1 :
On désire automatiser la gestion d’une bibliothèque qui comprend des livres et des adhérents.
1. Créez une classe Personne qui contient :
- les attributs privés : nom, prenom et age ;
- un constructeur pour initialiser les différents attributs ;
- une méthode afficher() qui affiche le nom, le prénom et l’âge.

2. Créez une classe Adherent qui hérite de Personne et qui :


- ajoute l’attribut numAdherent ;
- redéfinit la méthode afficher().

3. Créez une classe Auteur qui hérite de Personne et qui :


- ajoute l’attribut numAuteur ;
- redéfinit la méthode afficher().
- le programme génère une exception si l’utilisateur veut instancier un objet Auteur avec
une valeur négative de numAuteur.

4. Un livre est définit par un numéro ISBN (entier), un titre et est écrit par au plus 4 auteurs.
- créez la classe Livre ;
- ajoutez une méthode afficher() qui affiche le ISBN, le titre et les informations des au-
teurs.

5. Créez une classe Bibliothèque qui contient une méthode main(), dans laquelle :
- déclarez (instanciez) un adhèrent ;
- instanciez un livre qui est écrit par deux auteurs ;
- affichez les informations de l’adhèrent et du livre.

Exercice 2 :
On désire gérer les salaires et les primes des employés d’une entreprise.
Le calcul du salaire mensuel dépend du type de l'employé. On distingue les types d'employés
suivants
 Vendeur : leur salaire mensuel est le 20% du chiffre d’affaire qu’ils réalisent mensuel-
lement, plus 200 dinars.
 Représentant : leur salaire mensuel est le 20% du chiffre d’affaire qu’ils réalisent
mensuellement, plus 400 dinars

 Technicien : leur salaire vaut le nombre d’unités produites mensuellement multipliées
par 5.
 Manutentionnaire : Leur salaire vaut le nombre d’heures de travail mensuel multi-
pliées par 30 dinars
1. Créer la classe Employe :
- Un employé est caractérisé par son nom (de type String), prénom (de type
String), âge (de type int) et date de recrutement (de type String).
Programmation Orientée Objet - Semestre 2 – 2019-2020 – 1 ère année TA - ENSTAB

- Ajoutez un constructeur prenant en paramètres l’ensemble des attributs nécessaires.


- Ajoutez une méthode calculerSalaire(): ce type de calcul dépendra de type
de l’employé.
- Ajoutez une méthode getgrade() qui retourne la chaine de caractère "L'em-
ployé"
- Ajoutez une méthode getNom() retournant une chaine de caractère obtenue en con-
caténant la chaine de caractères "L'employé" avec le prénom et le nom.
2. Créer la classe Commerce qui hérite Employe et qui :
- Ajoute un attribut privé ChiffreAff de type double.
- Ajoute un constructeur prenant en paramètres les informations d’un employé avec le
chiffre d’affaire.
- Ajoute une méthode getChiffreAff() qui retourne le chiffre d’affaire.
3. Créer la classe Vendeur qui hérite de Commerce, et qui contient :
- Deux attributs privés statiques : Pourcent_Vend = 0.2, Bonus_Vend =
200.
- Un constructeur prenant en paramètre les informations d’un employé avec le chiffre
d’affaire.
- Redéfinir la méthode calculerSalaire() qui retourne le salaire mensuel d’un
vendeur.
- Redéfinir la méthode getgrade() qui retourne la chaine de caractère "Le ven-
deur".
4. Créer la classe Representant qui hérite de Commerce, et qui contient :
- Deux attributs privés statiques : Pourcent_Rep = 0.2, Bonus_Rep = 400.
- Un constructeur prenant en paramètre les informations d’un employé avec le chiffre
d’affaire.
- Redéfinir la méthode calculerSalaire() qui retourne le salaire mensuel d’un
représentant.
- Redéfinir la méthode getgrade() qui retourne la chaine de caractère "Le ven-
deur".
5. Créer la classe Technicien qui hérite de Employe, et qui contient :
- Un attribut privé statique Fact_unite et un attribut privé unites correspondant
au nombre d’unités produites.
- Un constructeur prenant en paramètres les informations d’un employé ainsi que le
nombre d’unités produites.
- Redéfinir la méthode calculerSalaire() qui retourne le salaire mensuel d’un
technicien.
- Redéfinir la méthode getgrade() qui retourne la chaine de caractère "Le tech-
nicien".
6. Créer la classe Manutentionnaire qui hérite de Employe, et qui contient :
- Un attribut privé statique prix_horaire et un attribut privé heures correspon-
dant au nombre d’heures de travail.
- Un constructeur prenant en paramètres les informations d’un employé ainsi que le
nombre d’heures de travail.
- Redéfinir la méthode calculerSalaire() qui retourne le salaire mensuel d’un
manutentionnaire.
- Redéfinir la méthode getgrade() qui retourne la chaine de caractère "Le manu-
tentionnaire".
7. Créez une classe Personnel qui contient une méthode main(), dans laquelle :
Programmation Orientée Objet - Semestre 2 – 2019-2020 – 1 ère année TA - ENSTAB

- Déclarez un tableau d’employés avec un nombre maximum de 10.


- Calculer le salaire moyen des employés.
- Affichez les informations des employés avec le type et le salaire correspondant,
comme suit pour chaque employé :
Le vendeur Ali Aissa, 32 ans, gagne 1000 dinars.
- Affichez le salaire moyen des employés comme suit :
Le salaire moyen dans l'entreprise est de 650 dinars.

Vous aimerez peut-être aussi