On vous donne la classe Directeur dont voici le corps:
public class Directeur extends Employe{ private double prime; // en pourcents du salaire /* * Constructeur * @pre nom != null, salaire > 0, 0 <= prime < 1 * @post a construit une instance de la classe Directeur */ public Directeur(String nom, double salaire, double prime){ //a compléter } /* * @pre - * @post retourne la salaire du directeur. Ce salaire est (1+prime)*salaire */ public double getSalaire() { // non fourni } /* * @pre - * @post retourne true si this et other sont identiques * (même nom, même salaire, même prime) */ public boolean equals(Object other){ // non fourni } /* * @pre - * @post retourne la prime de ce directeur */ public double getPrime() { // code non fourni } }
Pour information, la classe Employé ressemble à ceci :
public class Employe{ private String nom ; private double salaire ; /* * Constructeur * @pre nom != null, salaire > 0 * @post a construit une instance de la classe Employe avec nom et salaire */ public Employe (String nom, double salaire){ this.nom = nom ; this.salaire = salaire ; } /* * @pre - * @post retourne le nom de l'employé this */ public String getNom(){ return nom ; } /* * @pre - * @post retourne le salaire de l'employé this */ public double getSalaire() { return salaire ; } /* * @pre - * @post retourne un String décrivant l'employé this */ public String toString() { // Non fourni } /* * @pre - * @post retourne true si this et other sont deux employés * qui ont le même nom et le même salaire */ public boolean equals(Object other){ // Non fourni } }