Java Reference
In-Depth Information
15
if
(wage <
0.0
)
// validate wage
16
throw new
IllegalArgumentException(
17
"Hourly wage must be >= 0.0")
;
18
19
if
((hours <
0.0
) || (hours >
168.0
))
// validate hours
20
throw new
IllegalArgumentException(
21
"Hours worked must be >= 0.0 and <= 168.0"
);
22
23
this
.wage = wage;
24
this
.hours = hours;
25
}
26
27
// set wage
28
public void
setWage(
double
wage)
29
{
30
if
(wage <
0.0
)
// validate wage
31
throw new
IllegalArgumentException(
32
"Hourly wage must be >= 0.0")
;
33
34
this
.wage = wage;
35
}
36
37
// return wage
38
public double
getWage()
39
{
40
return
wage;
41
}
42
43
// set hours worked
44
public void
setHours(
double
hours)
45
{
46
if
((hours <
0.0
) || (hours >
168.0
))
// validate hours
47
throw new
IllegalArgumentException(
48
"Hours worked must be >= 0.0 and <= 168.0"
);
49
50
this
.hours = hours;
51
}
52
53
// return hours worked
54
public double
getHours()
55
{
56
return
hours;
57
}
58
59
// calculate earnings; override abstract method earnings in Employee
@Override
public double
earnings()
{
if
(getHours() <=
40
)
// no overtime
return
getWage() * getHours();
else
return
40
* getWage() + (getHours() -
40
) * getWage() *
1.5
;
}
60
61
62
63
64
65
66
67
Fig. 10.6
|
HourlyEmployee
class extends
Employee
. (Part 2 of 3.)