这是我的家庭作业,我之前看到它发布在网站上,但看起来它没有解决,我收到的错误信息不同于之前提出问题的人.
问题的第一部分是定义从Employee继承的子类Worker,并包含一个引用另一个作为worker的管理员的属性的属性.您应该定义一个返回工人经理的方法get_manager.
例:
worker = Worker("Fred", 52000, myboss)
Run Code Online (Sandbox Code Playgroud)
问题的第二部分是定义从Employee继承的子类Executive,并包含一个引用年度奖金的属性.
您应该覆盖工资方法,以根据他/她的工资和奖金计算高管薪酬.您应该在Executive Class的工资方法定义中使用Employee的工资方法.
例:
executive = Executive("Kerry", 520000, 1040000)
Run Code Online (Sandbox Code Playgroud)
我的代码写在下面,我得到的错误信息是:'全局名称'薪水'未在'员工'行中定义.对于类Executive(它适用于Worker类)的init(self,name,salary)'.为什么我会收到该错误以及如何解决?
谢谢您的帮助!
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)
Run Code Online (Sandbox Code Playgroud)