Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

- Show that Employee is active (working) - Change the pay() in volunteer to get 500 - If Executive salary more than 1000 oer week

- Show that Employee is active (working)

- Change the pay() in volunteer to get 500

- If Executive salary more than 1000 oer week do not give them bouns

- Change the data to show your changes in code

//******************************************************************** // Volunteer.java Java Foundations // // Represents a staff member that works as a volunteer. //********************************************************************

public class Volunteer extends StaffMember { //----------------------------------------------------------------- // Constructor: Sets up this volunteer using the specified // information. //----------------------------------------------------------------- public Volunteer (String eName, String eAddress, String ePhone) { super (eName, eAddress, ePhone); }

//----------------------------------------------------------------- // Returns a zero pay value for this volunteer. //----------------------------------------------------------------- public double pay() { return 0.0; } }

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//******************************************************************** // StaffMember.java Java Foundations // // Represents a generic staff member. //********************************************************************

abstract public class StaffMember { protected String name; protected String address; protected String phone;

//----------------------------------------------------------------- // Constructor: Sets up this staff member using the specified // information. //----------------------------------------------------------------- public StaffMember (String eName, String eAddress, String ePhone) { name = eName; address = eAddress; phone = ePhone; } //----------------------------------------------------------------- // Returns a string including the basic employee information. //----------------------------------------------------------------- public String toString() { String result = "Name: " + name + " ";

result += "Address: " + address + " "; result += "Phone: " + phone;

return result; }

//----------------------------------------------------------------- // Derived classes must define the pay method for each type of // employee. //----------------------------------------------------------------- public abstract double pay(); }

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

public class Staff { private StaffMember[] staffList;

public Staff() { staffList = new StaffMember[6]; staffList[0] = new Executive("Tony", "123 Main Line","555-0469", "123-45-6789", 2423.07); staffList[1] = new Employee("Paulie", "456 Off Line","555-0101", "987-65-4321", 1246.15); staffList[2] = new Employee("Vito", "789 Off Rocker","555-0000", "010-20-3040", 1169.23); staffList[3] = new Hourly("Michael", "678 Fifth Ave.","555-0690", "958-47-3625", 10.55); staffList[4] = new Volunteer("Adrianna", "987 Babe Blvd.", "555-8374"); staffList[5] = new Volunteer("Benny", "321 Dud Lane", "555-7282"); ((Executive)staffList[0]).awardBonus(500.00); ((Hourly)staffList[3]).addHours(40); }

public void payday() { double amount; for (int count=0; count < staffList.length; count++) { System.out.println (staffList[count]); amount = staffList[count].pay(); if (amount == 0.0) System.out.println("Thanks!"); else System.out.println("Paid: " + amount); System.out.println("-----------------------------------"); } } }

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//********************************************************************

// Hourly.java Java Foundations

//

// Represents an employee that gets paid by the hour.

//********************************************************************

public class Hourly extends Employee

{

private int hoursWorked;

//-----------------------------------------------------------------

// Constructor: Sets up this hourly employee using the specified

// information.

//-----------------------------------------------------------------

public Hourly (String eName, String eAddress, String ePhone,

String socSecNumber, double rate)

{

super (eName, eAddress, ePhone, socSecNumber, rate);

hoursWorked = 0;

}

//-----------------------------------------------------------------

// Adds the specified number of hours to this employee's

// accumulated hours.

//-----------------------------------------------------------------

public void addHours (int moreHours)

{

hoursWorked += moreHours;

}

//-----------------------------------------------------------------

// Computes and returns the pay for this hourly employee.

//-----------------------------------------------------------------

public double pay()

{

double payment = payRate * hoursWorked;

hoursWorked = 0;

return payment;

}

//-----------------------------------------------------------------

// Returns information about this hourly employee as a string.

//-----------------------------------------------------------------

public String toString()

{

String result = super.toString();

result += " Current hours: " + hoursWorked;

return result;

}

}

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//********************************************************************

// Firm.java Java Foundations

//

// Demonstrates polymorphism via inheritance.

//*******************************************************************

public class Firm{

public static void main(String[] args)

{

Staff personnel = new Staff();

personnel.payday();

}

}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//******************************************************************** // Executive.java Java Foundations // // Represents an executive staff member, who can earn a bonus. //********************************************************************

public class Executive extends Employee { private double bonus;

//----------------------------------------------------------------- // Constructor: Sets up this executive with the specified // information. //----------------------------------------------------------------- public Executive (String eName, String eAddress, String ePhone, String socSecNumber, double rate) { super (eName, eAddress, ePhone, socSecNumber, rate);

bonus = 0; // bonus has yet to be awarded }

//----------------------------------------------------------------- // Awards the specified bonus to this executive. //----------------------------------------------------------------- public void awardBonus (double execBonus) { bonus = execBonus; }

//----------------------------------------------------------------- // Computes and returns the pay for an executive, which is the // regular employee payment plus a one-time bonus. //----------------------------------------------------------------- public double pay() { double payment = super.pay() + bonus;

bonus = 0;

return payment; } }

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//******************************************************************** // Employee.java Java Foundations // // Represents a general paid employee. //********************************************************************

public class Employee extends StaffMember { protected String socialSecurityNumber; protected double payRate; //----------------------------------------------------------------- // Constructor: Sets up this employee with the specified // information. //----------------------------------------------------------------- public Employee (String eName, String eAddress, String ePhone, String socSecNumber, double rate) { super (eName, eAddress, ePhone);

socialSecurityNumber = socSecNumber; payRate = rate; }

//----------------------------------------------------------------- // Returns information about an employee as a string. //----------------------------------------------------------------- public String toString() { String result = super.toString();

result += " Social Security Number: " + socialSecurityNumber;

return result; }

//----------------------------------------------------------------- // Returns the pay rate for this employee. //----------------------------------------------------------------- public double pay() { return payRate; } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions