1: //EmployeePerson.java
3: abstract class EmployeePerson
4: {
5: protected String fullName; // In the format last name, first name
6: protected String departmentCode;
7: protected String birthday;
8: protected int annualSalary;
10: // ***********************************************************************
12: // Default constructor. Set protected variables to the empty string or 0
13: public EmployeePerson()
14: {
15: fullName = "";
16: departmentCode = "";
17: birthday = "";
18: annualSalary = 0;
19: }
21: // ***********************************************************************
23: // Constructor with parameters to set the private variables
24: public EmployeePerson
25: (
26: String empFullName,
27: String empDepartmentCode,
28: String empBirthday,
29: int empAnnualSalary
30: )
31: {
32: setData(empFullName, empDepartmentCode, empBirthday, empAnnualSalary);
33: }
35: // ***********************************************************************
37: public void setData
38: (
39: String empFullName,
40: String empDepartmentCode,
41: String empBirthday,
42: int empAnnualSalary
43: )
44: {
45: fullName = empFullName;
46: departmentCode = empDepartmentCode;
47: birthday = empBirthday;
48: annualSalary = empAnnualSalary;
49: }
51: // ***********************************************************************
53: // Ensure each subclass has a printInfo() method
54: abstract void printInfo();
56: // ***********************************************************************
58: // Ensure each subclass has a getAnnualBonus() method
59: abstract int getAnnualBonus();
60: }