继承
继承:一个类从另外一个类继承它的成员变量和成员方法(不含私有)
语法:
# 单继承
class 类名(父类名):
类内容体...
# 多继承 -- tips: 如果父类中有同名方法或属性,先继承的优先级高于之后的
class 类名(父类名1, 父类名2, ...):
类内容体...
示例:
class Animal:
name: None
def run(self):
print(f"[动物] {self.name} 跑...")
class Person:
name: None
def run(self):
print(f"[人类] {self.name} 跑...")
class Dog(Animal):
# 占位语句,用于补充语法完整性
pass
class Cat(Animal, Person):
pass
cat = Cat()
cat.name = "西西"
cat.run() # [动物] 西西 跑...
复写
复写:对父类的成员属性或方法重新定义。
语法:子类中定义同名的成员属性或方法即可。
子类中调用父类成员语法:
# 方式1:
父类名.成员变量
父类名.成员方法(self)
# 方式2:
super().成员变量
super().成员方法()
示例:
class Animal:
name = "小动物"
def run(self):
print(f"[动物] {self.name} 跑...")
class Pig(Animal):
name = "小猪猪"
def run(self):
print("111")
# 调用父类方式1
print(f"{Animal.name}") # 小动物
Animal.run(self) # [动物] 小猪猪 跑...
# 调用父类方式2
print(f"{super().name}") # 小动物
super().run() # [动物] 小猪猪 跑...
print("333")
pig = Pig()
pig.run()