我正在学习一个Programming类,并且我需要创建一个继承自已创建的类的类。这是老师教我做的代码,但它似乎没有起作用:
class Intern(Employer):
def __init__(self, last_name, first_name, address, phone, email, end_date):
Employer(last_name, first_name, address, phone, email)
self.end_date=end_date
def intern_info(self):
self.print_info()
print self.end_date
答案 0 :(得分:6)
该行
Employer(last_name, first_name, address, phone, email)
创建一个Employer
对象,当__init__()
的执行结束时,该对象立即被垃圾收集。它不会以任何方式影响Intern
对象。你的意思可能就像
Employer.__init__(self, last_name, first_name, address, phone, email)
或者
super(Intern, self).__init__(last_name, first_name, address, phone, email)
答案 1 :(得分:2)
self
的参数中缺少Employer
。您需要使用super
或明确将self
传递给父级__init__
。您还需要显式调用父__init__
方法。
class Intern(Employer):
def __init__(self, last_name, first_name, address, phone, email, end_date):
Employer.__init__(self, last_name, first_name, address, phone, email)
self.end_date=end_date
def intern_info(self):
self.print_info()
print self.end_date
答案 2 :(得分:0)
您缺少缩进,这是Python中代码块的机制。
尝试:
class Intern(Employer):
def __init__(self, last_name, first_name, address, phone, email, end_date):
Employer(last_name, first_name, address, phone, email)
self.end_date=end_date
def intern_info(self):
self.print_info()
print self.end_date