Adloun

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éthode salaireMensuel(), méthode toString() 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 son toString() 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

Exercice suivant et tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →