Python中的继承允许新类(子类)继承现有类(父类)的属性和方法,实现代码重用和扩展。子类可以修改或扩展父类的行为,支持多态,使得同一个方法可以有不同实现,增强了代码的灵活性和可维护性。
class Car():
"""汽车"""
def __init__(self, energy, distance):
self.energy = energy
self.distance = distance
self.windows = "close"
def go(self): # 加油门
self.energy = self.energy - 1
self.distance = self.distance + 1
return
def add(self): # 加油
self.energy = self.energy + 1
def open_windows(self): # 车窗
self.windows = "open"
class ElectricCar(Car): # 必须在括号内指定父类的名称
"""电动汽车"""
def __init__(self, energy, distance, battery_size): # 接受创建Car实例所需的信息
"""初始化父类的属性"""
super().__init__(energy, distance) # 帮助Python将父类和子类关联起来
self.battery_size = battery_size # 给子类定义新属性
def go(self): # 加电门
self.battery_size = self.battery_size - 1
self.distance = self.distance + 1
return
def add(self): # 充电
self.battery_size = self.battery_size + 1
open_windows()
不变
go()、add() 被重新写
要让派生类调用基类的__init__()
方法进行必要的初始化,需要在派生类使用super函数调用基类的__init__()
方法
不需要重新写方法,可以直接调用方法
super().add(x)