dm6801

171127 - Class 08 - Programmer

Nov 29th, 2017
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.34 KB | None | 0 0
  1. package Class;
  2.  
  3. public class Programmer extends Employee {
  4.     final protected float DEFAULT_BONUS_MULTIPLIER = 1.5f;
  5.     protected float bonusMultiplier;
  6.    
  7.     public void setBonusMultiplier() {
  8.         this.bonusMultiplier = DEFAULT_BONUS_MULTIPLIER;
  9.     }
  10.     public void setBonusMultiplier(float newMultiplier) {
  11.         if (newMultiplier < DEFAULT_BONUS_MULTIPLIER) { newMultiplier = DEFAULT_BONUS_MULTIPLIER; }
  12.         this.bonusMultiplier = newMultiplier;
  13.     }
  14.     public float getBonusMultiplier() {
  15.         return bonusMultiplier;
  16.     }
  17.    
  18.    
  19.     public Programmer(String name, int uniqueID, float salary, float bonusMultiplier) {
  20.         super(name, uniqueID, salary);
  21.         setBonusMultiplier(bonusMultiplier);
  22.     }
  23.     public Programmer(String name, int uniqueID, float salary) {
  24.         super(name, uniqueID, salary);
  25.         setBonusMultiplier();
  26.     }  
  27.     public Programmer(String name, int uniqueID) {
  28.         super(name, uniqueID);
  29.         setBonusMultiplier();
  30.     }
  31.     public Programmer(String name) {
  32.         super(name);
  33.         setBonusMultiplier();
  34.     }
  35.    
  36.    
  37.     @Override
  38.     public float calcBonus() {
  39.         return this.salary * bonusMultiplier;
  40.     }
  41.     @Override
  42.     public String toString() {
  43.         float salaryDiff = this.calcBonus()-this.getSalary();
  44.        
  45.         String str =    (salaryDiff > 0) ?
  46.                         String.format("\tbonus=%.2f", this.calcBonus()-this.getSalary()) :
  47.                         "";
  48.        
  49.         return super.toString() + str;
  50.     }
  51.    
  52.    
  53.    
  54.    
  55. }
Add Comment
Please, Sign In to add comment