1、描述
在Python代码中,如果在继承重写的基础上,我们还需要强制调用父类中的属性或方法,可以考虑使用super()
2、语法
基本语法:
super().属性
super().方法()
3、案例
class Car(object):
# 定义一些公共属性
def __init__(self, brand, model, color):
self.brand = brand
self.model = model
self.color = color
# 定义一个公共方法
def run(self):
print('i can run!')
class GasolineCar(Car):
# 自动继承父类中的公共属性
# 重写父类中的run方法
def run(self):
print('I can run with gasoline.')
class ElectricCar(Car):
# 重写父类中的公共属性
def __init__(self, brand, model, color, battery):
# 强制继承父类中的brand、model以及color属性,只重写battery属性
super().__init__(brand, model, color)
self.battery = battery
# 重写父类中的run方法
def run(self):
print('i can run with electric.')
tesla = ElectricCar('tesla', 'Model Y', 'Red', 70)
print(tesla.battery)
print(tesla.brand)
print(tesla.color)
print(tesla.model)
tesla.run()
结果: