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

Using Inheritance Consider the following (base) class. Define a new subclass of

ID: 3717483 • Letter: U

Question

Using Inheritance

Consider the following (base) class.

Define a new subclass of Employee called Worker. A worker has a manager, who is another employee; their manager is given as an argument to the constructor.

You should define a method get_manager that returns the worker’s manager.

Define another subclass of Employee called Executive. An executive has a yearly bonus in addition to a wage.

Override the Employee.wage method in order to take the bonus into account. You must call Employee.wage from Executive.wage (using super). Remember that the existing wage method calculates a fortnightly pay, but the bonus is annual.

class Employee(object):
"""
A salaried employee.

"""
def __init__(self, name, salary):
"""
Initialise a new Employee instance.

Parameters:
name (str): The employee's name.
salary (float): The employee's annual salary.

"""
self._name = name
self._salary = salary

def get_name(self):
"""
(str) Return the name.

"""
return self._name

def wage(self):
"""
(float) Return the forgnightly wage.

"""
return self._salary/26

Explanation / Answer

class Employee(object): def __init__(self, name, salary): self._name = name self._salary = salary def my_name(self): return self._name def wage(self): return self._salary/26 # fortnight pay class Worker(Employee): def __init__(self, name, salary, manager): super().__init__(name, salary) self.manager = manager def get_manager(self): return self.manager class Employee(Employee): def __init__(self, name, salary, bonus): super().__init__(name, salary) self.bonus = bonus def wage(self): return super().wage() + (self.bonus / 26)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote