Java Reference
In-Depth Information
6
public static void main(String[] args)
7
{
8
// create subclass objects
SalariedEmployee salariedEmployee =
new SalariedEmployee( "John" , "Smith" , "111-11-1111" , 800.00 );
HourlyEmployee hourlyEmployee =
new HourlyEmployee( "Karen" , "Price" , "222-22-2222" , 16.75 , 40 );
CommissionEmployee commissionEmployee =
new CommissionEmployee(
"Sue" , "Jones" , "333-33-3333" , 10000 , .06 );
BasePlusCommissionEmployee basePlusCommissionEmployee =
new BasePlusCommissionEmployee(
"Bob" , "Lewis" , "444-44-4444" , 5000 , .04 , 300 );
9
10
11
12
13
14
15
16
17
18
19
20
System.out.println( "Employees processed individually:" );
21
22
System.out.printf( "%n%s%n%s: $%,.2f%n%n" ,
23
salariedEmployee, "earned" , salariedEmployee.earnings());
24
System.out.printf( "%s%n%s: $%,.2f%n%n" ,
25
hourlyEmployee, "earned" , hourlyEmployee.earnings());
26
System.out.printf( "%s%n%s: $%,.2f%n%n" ,
27
commissionEmployee, "earned" , commissionEmployee.earnings());
28
System.out.printf( "%s%n%s: $%,.2f%n%n" ,
29
basePlusCommissionEmployee,
30
"earned" , basePlusCommissionEmployee.earnings());
31
32
// create four-element Employee array
33
Employee[] employees = new Employee[ 4 ];
34
35
// initialize array with Employees
employees[ 0 ] = salariedEmployee;
employees[ 1 ] = hourlyEmployee;
employees[ 2 ] = commissionEmployee;
employees[ 3 ] = basePlusCommissionEmployee;
36
37
38
39
40
41
System.out.printf( "Employees processed polymorphically:%n%n" );
42
43
// generically process each element in array employees
44
for (Employee currentEmployee : employees)
45
{
46
System.out.println(
currentEmployee
); // invokes toString
47
48
// determine whether element is a BasePlusCommissionEmployee
49
if
currentEmployee instanceof BasePlusCommissionEmployee
()
50
{
51
// downcast Employee reference to
52
// BasePlusCommissionEmployee reference
53
BasePlusCommissionEmployee employee =
54
(BasePlusCommissionEmployee) currentEmployee
;
55
56
employee.setBaseSalary( 1.10 * employee.getBaseSalary());
57
Fig. 10.9 | Employee hierarchy test program. (Part 2 of 4.)
Search WWH ::




Custom Search