Java Reference
In-Depth Information
1
// Fig. 10.5: SalariedEmployee.java
2
// SalariedEmployee concrete class extends abstract class Employee.
3
4
public class SalariedEmployee extends Employee
5
{
6
private double weeklySalary;
7
8
// constructor
9
public SalariedEmployee(String firstName, String lastName,
10
String socialSecurityNumber, double weeklySalary)
11
{
12
super (firstName, lastName, socialSecurityNumber);
13
14
if (weeklySalary < 0.0 )
15
throw new IllegalArgumentException(
16
"Weekly salary must be >= 0.0" );
17
18
this .weeklySalary = weeklySalary;
19
}
20
21
// set salary
22
public void setWeeklySalary( double weeklySalary)
23
{
24
if (weeklySalary < 0.0 )
25
throw new IllegalArgumentException(
26
"Weekly salary must be >= 0.0" );
27
28
this .weeklySalary = weeklySalary;
29
}
30
31
// return salary
32
public double getWeeklySalary()
33
{
34
return weeklySalary;
35
}
36
37
// calculate earnings; override abstract method earnings in Employee
@Override
public double earnings()
{
return getWeeklySalary();
}
38
39
40
41
42
43
44
// return String representation of SalariedEmployee object
@Override
public String toString()
{
return String.format( "salaried employee: %s%n%s: $%,.2f" ,
super .toString(), "weekly salary" , getWeeklySalary());
}
45
46
47
48
49
50
51
} // end class SalariedEmployee
Fig. 10.5 | SalariedEmployee concrete class extends abstract class Employee .
 
Search WWH ::




Custom Search