我做了两个班,一个父母和一个孩子。我想知道的是,是否可以使用父类来初始化子类。这是我的代码:如何从超类的实例创建子类的实例?
class Pc:
def __init__(self, brand, processor, price):
self.brand = brand
self.processor = processor
self.price = price
class Laptop(Pc):
def __init__(self,brand,processor,price, battery):
Pc.__init__(self,brand,processor,price)
self.battery = battery
现在我可以初始化电脑类:
b = Laptop('brand','processor','price')
但是,这似乎不是多大用处的我也和我的老师没有解释得很好。我想知道是否有可能做这样的事情:当我尝试这与我的代码,我得到一个错误
a = Pc("brand","processor","price")
b = Laptop(a, "battery")
。这甚至有可能吗?
您可以定义'高清__init __(自我,个人电脑,电池):'然后从'pc'参数中复制'Pc'属性。 – Barmar
错误在于您定义了'Laptop .__ init__'接收4个参数,并且只给了它两个..您需要重新定义函数以接受要传递它的参数 – Aaron
您可以修改laptop init * argv并以某种方式工作,具体取决于你有多少个参数,或者为这个特定方法制定一个类方法作为替代构造函数 – Copperfield