【发布时间】:2012-08-22 05:00:14
【问题描述】:
我的代码有问题。我正在尝试创建一个继承父类的属性和方法的子类,但它不起作用。这是我到目前为止所拥有的:
class Employee(object):
def __init__(self, emp, name, seat):
self.emp = emp
self.name = name
self.seat = seat
下面的代码块有问题 - 子类。
我必须再次创建__init__ 吗?以及如何为子类创建新属性。从阅读问题来看,听起来子类中的__init__ 将覆盖父类 - 如果我调用它来定义另一个属性,这是真的吗?
class Manager(Employee):
def __init__(self, reports):
self.reports = reports
reports = []
reports.append(self.name) #getting an error that name isn't an attribute. Why?
def totalreports(self):
return reports
我希望 Employee 类中的名称出现在报告列表中。
例如,如果我有:
emp_1 = Employee('345', 'Big Bird', '22 A')
emp_2 = Employee('234', 'Bert Ernie', '21 B')
mgr_3 = Manager('212', 'Count Dracula', '10 C')
print mgr_3.totalreports()
我想要reports = ['Big Bird', 'Bert Ernie'],但它不起作用
【问题讨论】:
-
I want reports = ['big', 'bird'] but it doesn't work-- 你的意思是reports = ['Big Bird', 'Bert Ernie']吗?如果是这样,那不是继承的工作方式。 Manager 类不知道您之前创建的任何实例 Employee。还是您遇到了不同的错误?
标签: python inheritance attributes parent-child