Java Reference
In-Depth Information
1
// Fig. 9.11: BasePlusCommissionEmployee.java
2
// BasePlusCommissionEmployee class inherits from CommissionEmployee
3
// and accesses the superclass's private data via inherited
4
// public methods.
5
6
public class BasePlusCommissionEmployee extends CommissionEmployee
7
{
8
private double baseSalary; // base salary per week
9
10
// six-argument constructor
11
public BasePlusCommissionEmployee(String firstName, String lastName,
12
String socialSecurityNumber, double grossSales,
13
double commissionRate, double baseSalary)
14
{
15
super (firstName, lastName, socialSecurityNumber,
16
grossSales, commissionRate);
17
18
// if baseSalary is invalid throw exception
19
if (baseSalary < 0.0 )
20
throw new IllegalArgumentException(
21
"Base salary must be >= 0.0" );
22
23
this .baseSalary = baseSalary;
24
}
25
26
// set base salary
27
public void setBaseSalary( double baseSalary)
28
{
29
if (baseSalary < 0.0 )
30
throw new IllegalArgumentException(
31
"Base salary must be >= 0.0" );
32
33
this .baseSalary = baseSalary;
34
}
35
36
// return base salary
37
public double getBaseSalary()
38
{
39
return baseSalary;
40
}
41
42
// calculate earnings
43
@Override
44
public double earnings()
45
{
46
return getBaseSalary() + super .earnings();
47
}
48
49
// return String representation of BasePlusCommissionEmployee
50
@Override
51
public String toString()
52
{
Fig. 9.11 | BasePlusCommissionEmployee class inherits from CommissionEmployee and
accesses the superclass's private data via inherited public methods. (Part 1 of 2.)
Search WWH ::




Custom Search