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.)
Search WWH ::




Custom Search