Starting from:
$30

$24

Inheritance Lab Solution

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

More products