这是我的家庭作业:
问题的第一部分是定义
Worker
继承自Employee
并包含一个属性的子类,该属性引用另一个员工,该员工是员工的经理。您应该定义一个get_manager
返回工人经理的方法。例子:
worker = Worker("Fred", 52000, myboss)
问题的第二部分是定义
Executive
继承自Employee
并包含引用年度奖金的属性的子类。您应该覆盖工资方法以根据他/她的薪水和奖金计算高管薪酬。您应该在类
Employee
的工资方法定义中使用工资方法Executive
。例子:
executive = Executive("Kerry", 520000, 1040000)
我提交了以下代码,但有人告诉我“你给高管的工资是错误的”。我看不出错误是什么。我该如何做对?
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):
Employee.__init__(self, name, salary)
self._manager = manager
def getManager(self):
return self._manager
class Executive(Employee):
def __init__(self, name, wage, yearlyBonus):
Employee.__init__(self, name, salary)
self._yearlyBonus = yearlyBonus
def wage(self):
return Employee.wage(self)