【发布时间】:2020-11-11 13:13:45
【问题描述】:
我有一个多父类,超父类是
class Item:
def __init__(self, name):
self.name = name
def print_name(self):
print("The item name is " + self.name)
基类是:
class Gadget(Item):
def __init__(self, name,
version):
self.name = name
self.version = version
def print_attribute(self):
pass
#do for attribute
基类的子类是:
class Mobile_Phone(Gadget):
def __init__():
pass
所以当我实例化子类时
item = Mobile_Phone("Iphone", "iOS")
item.print_name()
它给了我一个错误,contuctor 有 0 个位置参数,但给出了 3 个
【问题讨论】:
-
需要先初始化父类属性
-
如果您尝试将多个参数传递到其构造函数中,为什么 Mobile_Phone 的 __init__() 参数为零?
-
这是给出的指令: # 用正确的父类定义每个子类。 # 构造函数应该不接受任何参数,并且应该根据实际项目调用其父构造函数并传递适当的参数
标签: python python-3.x inheritance constructor multiple-inheritance