Starting from:
$30

$24

Lab 7 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.




Employee Class - Abstract




Data Members




Private final double BASE



Private String Name



Protected double Salary



Methods - Required




EVC that takes the name the basePayrate(sets the constant) and the additionalPayRate(sets the salaray BASE + additonalPayRate)



getMethods



getSalary



getName



getBaseSalary



getType – this.getClass().Figure it out



setMethods



setName



setSalary



toString



report - abstract



compareTo – ensure an Employee is passed in – sorts by type – must call getType and then by salary – must call getSalary
Lawyer Class




Data Members




Private int stockOptions



Methods - Required




EVC that takes the name the basePayrate, the additionalPayRate, and the number of stock options



getStockOptions



setStockOptions – adds or subtracts from the current stockOptions



report – see sample output for what should be reported



toString – The name of the class: and then the base class toString






Programmer Class




Data Members




Private boolean busPass



Methods - Required




EVC that takes the name the basePayrate, the additionalPayRate, and true/false



getBusPass



setBusPass



report – see sample output for what should be reported



toString – The name of the class: and then the base class toString






Accountant Class




Data Members




Private double parkingStipend



Methods - Required




EVC that takes the name the basePayrate, the additionalPayRate, and the parkingStipend



getParkingStipend



setParkingStipend – adds or subtracts from the current parkingStipend



report – see sample output for what should be reported



toString – The name of the class: and then the base class toString



NOTES:




I have provided CSCD211Lab7.java – you may not change this file



I am providing a basic Javadoc – you must check all preconditions and throw the necessary exceptions






TO TURN IN

A zip file that contains:




All Java files/folders needed to compile and run your program



An output run named cscd211Lab7out.txt



Zip is named last name first letter of first name lab7.zip (Example: steinerslab7.zip)

More products