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.)