(Java ? 7 IDE Programming Language) Design a class named Employee. The class sho
ID: 3774505 • Letter: #
Question
(Java ? 7 IDE Programming Language)
Design a class named Employee. The class should keep the following information in fields: Employee name Employee number in the format XXX-L, where each X is a digit within the range 0-9 and the L is a letter within the range A-M. Hire date Write one or more constructors and the appropriate accessor and mutator methods for the class. Next, write a class named ProductionWorker that inherits from the Employee class. The ProductionWorker class should have fields to hold the following information: Shift (an integer) Hourly pay rate (a double) The workday is divided into two shifts: day and night. The shift field will be an integer value representing the shift that the employee works. The day shift is shift 1 and the night shift is shift 2. Write one or more constructors and the appropriate accessor and mutator methods for the class. Demonstrate the classes by writing a program that uses a ProductionWorker object.Explanation / Answer
// Employee.java
public class Employee
{
// private fields
private String employeeName;
private String employeeNumber;
private String employeeHireDate;
// public methods
public Employee(String employeeName, String employeeNumber, String employeeHireDate)
{
this.employeeName = employeeName;
this.employeeNumber = employeeNumber;
this.employeeHireDate = employeeHireDate;
}
public String getemployeeName()
{
return employeeName;
}
public void setemployeeName(String employeeName)
{
this.employeeName = employeeName;
}
public String getemployeeNumber()
{
return employeeNumber;
}
public void setemployeeNumber(String employeeNumber)
{
this.employeeNumber = employeeNumber;
}
public String getemployeeHireDate()
{
return employeeHireDate;
}
public void setemployeeHireDate(String employeeHireDate)
{
this.employeeHireDate = employeeHireDate;
}
public String toString()
{
String result = "Employee name: " + employeeName + " Employee number: " + employeeNumber + " Employee Hire Date: " + employeeHireDate;
return result;
}
}
// ProductionWorker.java
public class ProductionWorker extends Employee
{
// private fields
private int employeeShift;
private double employeeHourlyPayRate;
// public methods
public ProductionWorker(String employeeName, String employeeNumber, String employeeHireDate, int employeeShift, double employeeHourlyPayRate)
{
super(employeeName, employeeNumber, employeeHireDate);
this.employeeShift = employeeShift;
this.employeeHourlyPayRate = employeeHourlyPayRate;
}
public ProductionWorker(ProductionWorker prodworker)
{
super(prodworker.getemployeeName(), prodworker.getemployeeNumber(), prodworker.getemployeeHireDate());
this.employeeShift = prodworker.getemployeeShift();
this.employeeHourlyPayRate = prodworker.getPayRate();
}
public int getemployeeShift()
{
return employeeShift;
}
public void setemployeeShift(int employeeShift)
{
this.employeeShift = employeeShift;
}
public double getPayRate()
{
return employeeHourlyPayRate;
}
public void setPayRate(double employeeHourlyPayRate)
{
this.employeeHourlyPayRate = employeeHourlyPayRate;
}
public String toString()
{
String result = super.toString();
result = result + " Employee employeeShift: " + Integer.toString(employeeShift) + " Employee Hourly Pay Rate: " + Double.toString(employeeHourlyPayRate);
return result;
}
}
// Driver.java
public class Driver
{
public static void main(String[] args)
{
Employee emp = new Employee("Alex Hales", "453-B", "12/34/2016");
System.out.println(" Employee Details: ");
System.out.println(emp);
ProductionWorker prodWorker1 = new ProductionWorker("Jason Roy", "136-D", "11/17/2016", 5, 35.5);
ProductionWorker prodWorker2 = new ProductionWorker(prodWorker1);
System.out.println(" First Production Worker: ");
System.out.println(prodWorker1);
System.out.println(" Second Production Worker: ");
System.out.println(prodWorker2);
}
}
/*
output:
Employee Details:
Employee name: Alex Hales
Employee number: 453-B
Employee Hire Date: 12/34/2016
First Production Worker:
Employee name: Jason Roy
Employee number: 136-D
Employee Hire Date: 11/17/2016
Employee employeeShift: 5
Employee Hourly Pay Rate: 35.5
Second Production Worker:
Employee name: Jason Roy
Employee number: 136-D
Employee Hire Date: 11/17/2016
Employee employeeShift: 5
Employee Hourly Pay Rate: 35.5
*/
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.