文章目录
一. 继承
- 一个类继承另一个类时,将自动获得另一个类的所有属性和方法。
- 子类继承了父类的所有属性和方法,同时还可以定义自己的属性和方法。
- 子类可以覆写父类的方法。
1. 子类的方法__init__()
创建子类时,要调用父类的方法__init__()。这将初始化在父类__init__()方法中定义的所有属性,从而让子类包含这些属性。
使用 super().__init__()
来调用父类方法。
如下:
class Car:
"""一次模拟汽车的简单尝试。"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = f"{
self.year} {
self.make} {
self.model}"
return long_name.title()
class ElectricCar(Car):
"""电动汽车的独特之处。"""
def __init__(self, make, model, year):
"""初始化父类的属性。"""
super().__init__(make, model, year)
if __name__ == '__main__':
my_tesla = ElectricCar('tesla', 'model s', 2019)
print(my_tesla.get_descriptive_name())
- 创建子类时,父类必须包含在当前文件中,且位于子类前面。
- 子类名称后的括号指定父类名称来继承
2. 子类特有的属性和方法
如下新增电池属性
class ElectricCar(Car):
def __init__(self, make, model, year):
super().__init__(make, model, year)
# 新增电池属性,并设置其初始值(75)
self.battery_size = 75
def describe_battery(self):
"""打印一条描述电瓶容量的消息。""