You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.5 KiB
68 lines
1.5 KiB
package senior;
|
|
|
|
import base.Scientist;
|
|
import base.EmployeeActions;
|
|
|
|
public class SeniorScientist implements Scientist, EmployeeActions {
|
|
private double salary;
|
|
private int seniority;
|
|
|
|
public SeniorScientist(double salary, int seniority) {
|
|
this.salary = salary;
|
|
this.seniority = seniority;
|
|
}
|
|
|
|
@Override
|
|
public double computeBonus() {
|
|
return salary * seniority * 0.03;
|
|
}
|
|
|
|
@Override
|
|
public double getSalary() {
|
|
return salary;
|
|
}
|
|
|
|
@Override
|
|
public void setSalary(double salary) {
|
|
this.salary = salary;
|
|
}
|
|
|
|
@Override
|
|
public int getSeniority() {
|
|
return seniority;
|
|
}
|
|
|
|
@Override
|
|
public void setSeniority(int seniority) {
|
|
this.seniority = seniority;
|
|
}
|
|
|
|
@Override
|
|
public void hire() {
|
|
System.out.println("Senior Scientist hired.");
|
|
}
|
|
|
|
@Override
|
|
public void fire() {
|
|
System.out.println("Senior Scientist fired.");
|
|
}
|
|
|
|
@Override
|
|
public void transfer() {
|
|
System.out.println("Senior Scientist transferred.");
|
|
}
|
|
|
|
@Override
|
|
public void accrueSalary() {
|
|
System.out.println("Total salary: " + (salary + computeBonus()));
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "SeniorScientist { salary = " + salary +
|
|
", seniority = " + seniority +
|
|
", bonus = " + computeBonus() +
|
|
", totalSalary = " + (salary + computeBonus()) + " }";
|
|
}
|
|
}
|