Question: Python code question 1. Employee and ProductionWorker Classes Write an Employee class that keeps data attributes for the following pieces of information: Employee name Employee

Python code question

1. Employee and ProductionWorker Classes

Write an Employee class that keeps data attributes for the following pieces of information:

Employee name

Employee number

Next, write a class named ProductionWorker that is a subclass of the Employee class. The ProductionWorker class should keep data attributes for the following information:

Shift number (an integer, such as 1, 2, or 3)

Hourly pay rate

The workday is divided into two shifts: day and night. The shift attribute will hold an

integer value representing the shift that the employee works. The day shift is shift 1 and the night shift is shift 2. Write the appropriate accessor and mutator methods for each class.

Once you have written the classes, write a program that creates an object of the

ProductionWorker class and prompts the user to enter data for each of the objects data

attributes. Store the data in the object and then use the objects accessor methods to retrieve it and display it on the screen.

2. ShiftSupervisor Class

In a particular factory, a shift supervisor is a salaried employee who supervises a shift. In addition to a salary, the shift supervisor earns a yearly bonus when his or her shift meets production goals. Write a ShiftSupervisor class that is a subclass of the Employee class you created in Programming question 1. The ShiftSupervisor class should keep a data attribute for the annual salary and a data attribute for the annual production bonus that a shift supervisor has earned. Demonstrate the class by writing a program that uses a ShiftSupervisor object.

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

This is what I have so far but has an error

class Employee: def __init__(self,name,number): self.employeeName=name self.employeeNumber=number #mutation methods def setEmployeeName(self,name): self.employeeName=name def setEmployeeNumber(self,number): self.employeeNumber=number # accessor methods def getEmployeeName(self): return self.employeeName def getEmployeeNumber(self): return self.employeeNumber #class inheriting properties from Employee class

class ProductionWorker(Employee): def __init__(self,name,number,shiftNumber,hourlyRate): super().__init__(name,number) self.shiftNumber=shiftNumber self.hourlyRate=hourlyRate def setShiftNumber(self,shiftNumber): self.shiftNumber=shiftNumber def setHourlyRate(self,hourlyRate): self.hourlyRate=hourlyRate def getShiftNumber(self): return self.shiftNumber def getHourlyRate(self): return self.hourlyRate

name=input("Enter employee name: ") number=int(input("Enter employee number: ")) shiftNumber=int(input("Enter shift number: ")) hourlyRate=float(input("Enter hourly pay rate: ")) employee=ProductionWorker(name,number,shiftNumber,hourlyRate)

print("Employee Details are: ") print("Employee Name:",employee.getEmployeeName(),"having employee number",employee.getEmployeeNumber(),end=" ") if employee.getShiftNumber()==1: print("working in a day shift at hourly rate of",employee.getHourlyRate(),end=" ") elif employee.getShiftNumber()==2: print("working in a night shift at hourly rate of",employee.getHourlyRate(),end=" ")

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!