The employee class has two subclasses, PartTimeEmployee and FullTimeEmployee, rather than using attributes of Employee to differentiate between different Employee types. Part time employees have to track their schedules, while full time employees are eligible for bonuses. Each full time employee is considered "exempt" if he works for a monthly salary, or "non-exempt" if he works at an hourly rate. Each one computes salaryToDate differently.