试图理解遗传。PartTimeEmployee
类应该从Employee
类继承属性。但是我在尝试“tap”进入ReturnName
方法以打印PartTimeEmployee
信息时出错。你知道吗
class Employee(object):
def __init__(self, employee_name):
self.employee_name = employee_name
def ReturnName(self, employee_name):
self.employee_name = employee_name
return employee_name
def calculate_wage(self, hours):
self.hours = hours
return hours * 20.00
class PartTimeEmployee(Employee):
def calculate_wage(self, hours):
self.hours = hours
return hours * 12.00
ft_emp = Employee("Mike")
ft_emp_name = ft_emp.ReturnName("Mike")
pt_emp = PartTimeEmployee("Bill")
#pt_emp_name = pt_emp.ReturnName("Bill")
ft_pay = ft_emp.calculate_wage(40)
#pt_pay = pt_emp_name.calculate_wage(20)
print "Full time employee %s made $%d for the week." %(ft_emp_name, ft_pay)
#print "Part time employee %s made $%d for the week." %(pt_emp_name, pt_pay)
>>>
Full time employee Mike made $800 for the week.
注释行:
应该是:
否则,它试图对字符串对象调用方法calculate。你知道吗
你真正拥有的是两种不同类型的员工,全职和兼职。因此,我可能会使用这样的设计:
Employee
包含任何一种类型的员工所共有的一切。子类包含特定于每种类型的信息,到目前为止只包含每种类型支付的小时工资。注意没有ReturnName
方法。如果您想要员工的名字,只需直接访问name
属性。你知道吗相关问题 更多 >
编程相关推荐