-
Notifications
You must be signed in to change notification settings - Fork 0
/
BasePlusCommissionEmployee.java
62 lines (39 loc) · 1.66 KB
/
BasePlusCommissionEmployee.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
public class BasePlusCommissionEmployee extends CommissionEmployee{
//CommissionEmployee - superclass
//BasePlusCommissionEmployee - subclass
private double baseSalary;
//constructor
//cannot inherit constructor from superclass
public BasePlusCommissionEmployee(String firstName, String lastName, String socialSecurityNumber, double grossSales, double commissionRate, double baseSalary){
super(firstName, lastName, socialSecurityNumber, grossSales, commissionRate);
//we are calling the constructor from the superclass CommissionEmployee
if(baseSalary < 0.0){
throw new IllegalArgumentException("baseSalary must be >=0.0");
}
this.baseSalary = baseSalary;
}//End of constructor
public void setBaseSalary(double baseSalary){
if(baseSalary < 0.0){
throw new IllegalArgumentException("baseSalary must be >=0.0");
}
this.baseSalary = baseSalary;
}
public double getBaseSalary(){
return baseSalary;
}
@Override
public double earnings(){
return baseSalary + super.earnings();
}
@Override //Needs to be written to every method that needs to be overrided
public String toString(){
/* Another way to write it
return String.format("%s: %s %s\n%s: %s\n%s: %.2f\n%s: %.2f\n%s: %.2f",
"base-salaried employee", getFirstName(), getLastName(),
"Social Security Number", getSocialSecurityNumber(),
"grossSales", getGrossSales(), "commissionRate", getCommissionRate(),
"baseSalary", baseSalary);
*/
return String.format("%s \n%s\n%s: %.2f", "Base Salaried", super.toString(), "Base Salary", getBaseSalary());
}
}//end of class