Java Reference
In-Depth Information
8
9
// six-argument constructor
10
public BasePlusCommissionEmployee(String firstName, String lastName,
11
String socialSecurityNumber, double grossSales,
12
double commissionRate, double baseSalary)
13
{
14
super (firstName, lastName, socialSecurityNumber,
grossSales, commissionRate);
15
16
17
// if baseSalary is invalid throw exception
18
if (baseSalary < 0.0 )
19
throw new IllegalArgumentException(
20
"Base salary must be >= 0.0" );
21
22
this .baseSalary = baseSalary;
23
}
24
25
// set base salary
26
public void setBaseSalary( double baseSalary)
27
{
28
if (baseSalary < 0.0 )
29
throw new IllegalArgumentException(
30
"Base salary must be >= 0.0" );
31
32
this .baseSalary = baseSalary;
33
}
34
35
// return base salary
36
public double getBaseSalary()
37
{
38
return baseSalary;
39
}
40
41
// calculate earnings
42
@Override // indicates that this method overrides a superclass method
43
public double earnings()
44
{
45
return baseSalary + (commissionRate * grossSales);
46
}
47
48
// return String representation of BasePlusCommissionEmployee
49
@Override
50
public String toString()
51
{
52
return String.format(
"%s: %s %s%n%s: %s%n%s: %.2f%n%s: %.2f%n%s: %.2f" ,
"base-salaried commission employee" , firstName, lastName,
"social security number" , socialSecurityNumber,
"gross sales" , grossSales, "commission rate" , commissionRate,
"base salary" , baseSalary);
53
54
55
56
57
58
}
59
} // end class BasePlusCommissionEmployee
Fig. 9.9 | BasePlusCommissionEmployee inherits protected instance variables from
CommissionEmployee . (Part 2 of 2.)
Search WWH ::




Custom Search