Description
You are a programmer in the IT department of an important law firm. Your job is to create a program that will report gross salary amounts and other compensation.
There are three types of employees in your firm:
-
Programmers
-
Lawyers
-
Accountants
Your computer-based solution will use inheritance to reflect the ‘general-to-specific’ nature of your employee hierarchy.
Common attributes for all employees are:
-
Name
-
Salary
Attributes for specific employee types are:
-
Lawyers:
Stock options earned (type int)
-
Accountants
Parking allowance amount (type double)
-
Programmers:
Bus pass (type boolean)
The three specific classes of employees should extend the abstract Employee class (nobody is a generic employee) and implement their own reportSalary() method.
The pay schedule is:
-
Employees earn the base salary of $40K per year
-
Accountants earn the base employee salary per year
-
Programmers earn the base employee salary plus $20K per year o Lawyers earn the base employee salary plus $30K per year
Requirements:
-
Each subclass of Employee must implement its own reportSalary() method. The specific implementations of reportSalary() are limited to a printed line:
System.out.println(“I am a lawyer. I get “ + getSalary() + “, and I have ” + getOptions() + “ shares of stock.”);
Eastern Washington University
CSCD211 – Programming Principles II |
|
System.out.println(“I am an accountant. I make “ + getSalary() + “ plus a parking allowance of “ + getParking());
System.out.println(“I am a programmer. I make ” + getSalary() + ” and I” + ((getBusPass())?” get a bus pass.”:” do not get a bus pass.”));
-
Salaries for specific types of employees are in addition to the base employee salary.
Raising the base employee salary should automatically raise salaries for all types of employees (hmmm…).
-
An object of the ‘Employee’ class cannot be instantiated because it would be too
general.
-
Attribute(s) that belong to a super or sub class should be initialized in the corresponding class constructor.
Task 1:
Setup a class hierarchy to accurately reflect the relationships in your law firm.
Task 2:
Create a driver program that will create employee objects and report salaries for your company’s employee base:
-
Programmers:
(your name goes here)
–
No bus pass
Will E. Makit
–
Bus pass
Lawyers:
Ivana Killmen
–
11 shares signing bonus
Luke N. Dimm
–
0 shares signing bonus
Eileen Dover
–
100 shares signing bonus
Accountants:
Bill Cheatem
–
Parking allowance – $
17.00
Joe Kisonyou
–
Parking allowance – $
45.50
Seymore Butts
–
Parking allowance – $
2.50
Print your code listing and submit on paper, in class. See Canvas for due date.
Eastern Washington University