programmation Java (école d'ingénieur) · Chapitre 9 · Application directe du cours
Employés et cadres
Héritage et polymorphisme · niveau 2
Énoncé
Un employé a un nom et un salaire mensuel. Un cadre est un employé qui touche en plus une prime mensuelle.
- Écrire la classe
Employe(attributs, constructeur, méthodesalaireMensuel(), méthodetoString()qui affiche le nom et le salaire avec deux décimales). - Écrire la classe
Cadre, sans recopier de code d'Employe: le salaire mensuel d'un cadre inclut sa prime, et sontoString()commence par « Cadre ». - Ranger Alice (2800), Bruno (cadre, 4200, prime 900) et Chloé (3100) dans un tableau d'
Employe, afficher chacun puis la masse salariale.
Corrigé
class Employe {
protected final String nom;
protected final double salaire;
Employe(String nom, double salaire) {
this.nom = nom;
this.salaire = salaire;
}
double salaireMensuel() { return salaire; }
@Override
public String toString() {
return nom + " (" + String.format("%.2f", salaireMensuel()) + ")";
}
}
class Cadre extends Employe {
private final double prime;
Cadre(String nom, double salaire, double prime) {
super(nom, salaire);
this.prime = prime;
}
@Override
double salaireMensuel() { return super.salaireMensuel() + prime; }
@Override
public String toString() { return "Cadre " + super.toString(); }
}
Le programme principal parcourt le tableau et cumule les salaires :
Employe[] equipe = {
new Employe("Alice", 2800),
new Cadre("Bruno", 4200, 900),
new Employe("Chloé", 3100)
};
double masse = 0;
for (Employe e : equipe) {
System.out.println(e);
masse += e.salaireMensuel();
}
System.out.printf("Masse salariale : %.2f%n", masse);
Alice (2800.00)
Cadre Bruno (5100.00)
Chloé (3100.00)
Masse salariale : 11000.00
Remarquer que le toString() d'Employe appelle salaireMensuel() : pour Bruno, c'est la version redéfinie de Cadre qui s'exécute, d'où et non . Le toString() de Cadre n'a donc rien à recalculer.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.