Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

(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


*/