Advertisement
anthonimes

TP3---EXO1

Nov 5th, 2020 (edited)
419
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.42 KB | None | 0 0
  1. package exo2;
  2.  
  3. import java.time.LocalDate;
  4. import java.util.Arrays;
  5.  
  6. /* Un Responsable est un Employé
  7. * Héritage à mettre en place -> extends
  8. * */
  9. public class Responsable extends Employe {
  10.     private String titre;
  11.     private int pourcentage_prime;
  12.     private Employe[] les_subordonnes;
  13.  
  14.     public Responsable(String nom, double salaire_de_base_mensuel, LocalDate date_embauche, String titre, int pourcentage_prime, Employe... les_subordonnes) {
  15.         /* super Fait appel au constructeur de la classe Employe */
  16.         super(nom, salaire_de_base_mensuel, date_embauche);
  17.         this.titre = titre;
  18.         this.pourcentage_prime = pourcentage_prime;
  19.         this.les_subordonnes = les_subordonnes;
  20.     }
  21.  
  22.     @Override
  23.     public double calculerSalaireBrutMensuel() {
  24.         return super.calculerSalaireBrutMensuel();
  25.     }
  26.  
  27.     @Override
  28.     public String toString() {
  29.         return "Responsable{" + super.toString() + "\n" +
  30.                 "titre='" + titre + '\'' +
  31.                 ", pourcentage_prime=" + pourcentage_prime +
  32.                 ", les_subordonnes=" + Arrays.toString(les_subordonnes) +
  33.                 "}\n";
  34.     }
  35. }
  36.  
  37. package exo2bis;
  38.  
  39. import java.time.LocalDate;
  40.  
  41. public class Employe {
  42.     private String nom;
  43.     private int matricule;
  44.     private double salaire_de_base_mensuel;
  45.     private LocalDate date_embauche;
  46.  
  47.     private static int id = 1;
  48.  
  49.     public Employe(String nom, double salaire_de_base_mensuel, LocalDate date_embauche) {
  50.         this.nom = nom;
  51.         this.salaire_de_base_mensuel = salaire_de_base_mensuel;
  52.         this.date_embauche = date_embauche;
  53.         this.matricule = this.id;
  54.         this.id++;
  55.     }
  56.  
  57.     public double calculerSalaireBrutMensuel() {
  58.         long anciennete = Math.abs(ChronoUnit.YEARS.between(LocalDate.now(), this.date_embauche));
  59.         double prime = 0;
  60.         if (anciennete > 9)
  61.             prime = 0.1;
  62.         else if (anciennete > 6)
  63.             prime = 0.07;
  64.         else if (anciennete > 3)
  65.             prime = 0.04;
  66.  
  67.         return prime*this.salaire_de_base + this.salaire_de_base;
  68.     }
  69.  
  70.     @Override
  71.     public String toString() {
  72.         return "Employe{" +
  73.                 "nom='" + nom + '\'' +
  74.                 ", matricule=" + matricule +
  75.                 ", salaire_de_base_mensuel=" + salaire_de_base_mensuel +
  76.                 ", date_embauche=" + date_embauche +
  77.                 '}';
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement