继承的分类
分类
python继承不像java使用支持单继承,而python支持单继承、多继承。
单继承
1 class ParentClass: 2 # 父类的属性和方法 3 4 class ChildClass(ParentClass): 5 # 子类的属性和方法
单继承顾名思义就是子类只有1个父类。示例ChildClass类只有1个父类ParentClass
多继承
class ChildClass(ParentClass1, ParentClass2, ...): # 子类的属性和方法
顾名思义就是1个类继承多个父类。子类可以复用父类的属性、方法
1 ''' 2 多重继承:子类可以复用所有父类的属性、方法 3 ''' 4 5 6 class Animal: 7 def __init__(self, name): 8 self.name = name 9 10 def speak(self): 11 print(f"{self.name} is speaking.") 12 13 14 class CanFly: 15 def fly(self): 16 print(f"{self.name} is flying.") 17 18 19 class CanSwim: 20 def swim(self): 21 print(f"{self.name} is swimming.") 22 23 24 class FlyingFish(Animal, CanFly, CanSwim): 25 pass 26 27 28 fish = FlyingFish("monkey") 29 fish.speak() # 输出:monkey is speaking. 30 fish.fly() # 输出:monkey is flying. 31 fish.swim() # 输出:monkey is swimming.
在上述示例中,Animal、CanFly 和 CanSwim 是独立的父类,FlyingFish 是同时继承这三个父类的子类。FlyingFish 继承了所有父类的属性和方法,因此可以调用 speak()、fly() 和 swim() 方法。
需要注意的是,多继承可能导致复杂性增加,并且需要仔细处理方法冲突等问题。因此,在使用多继承时,应该谨慎考虑继承关系和设计合理的继承结构。

浙公网安备 33010602011771号