如何解决此Python继承超级子调用?

时间:2016-09-18 20:52:15

标签: python

如果我使用超级构造函数创建一个从父类继承的类,是否可以使用相同的调用来设置属性来创建子类? 所以我在创造一辆电动车。电动汽车是汽车的儿童类。 电动车有一个属性电池,它将通过其Class构造函数初始化。我可以在初次建立电动汽车的电话中指定电池的大小吗?

目前它给我一个错误,因为我的超级调用参数少于我的电动汽车构造函数

例如:

$

1 个答案:

答案 0 :(得分:1)

你不能在这里给出电池尺寸:

my_tesla = ElectricCar('TeslaX', 2016)

将其更改为:

my_tesla = ElectricCar('TeslaX', 2016, 1337)  # 1337 is battery size.

如果您希望提供默认值,您还应该在ElectricCar中提供默认值:

def __init__(self, model, year, battery_size=70):
    super().__init__(model, year)
    self.battery = Battery(battery_size)