语法,多继承
多继承:
一个同时继承多个父类
语法:
class 子类(父类1,父类2...):
pass
多继承条件下的方法继承问题:
1.一个类可以继承多个父类,子类可以继承父类中所有的非私有方法
2.如果子类中有方法与父类中的方法同名,优先使用子类中的方法
3.如果多个父类中存在同名方法,则调用的方法,取决于继承顺序
多继承下属性的问题:
类属性:
如果多个父类中存在同名属性,子类使用的取决于继承顺序
如果子类中存在同名属性,以子类为准
class A: a = 10 def __init__(self,a,aa): self.a = a self.aa = aa def func_a(self): print('A.func_a') class B: def __init__(self,b): self.b = b a = 20 def func_b(self): print('B.func_b') def func_a(self): print('B.func_a') class C(B,A): a = 30 # def func_a(self): # print('C.func_a') def __init__(self,b,c): super(C, self).__init__(b) self.c = c c = C(1,2) c.func_a() c.func_b() print(c.a)
运行结果
B.func_a
B.func_b
30
本文详细解析了Python中多继承的语法与特性,包括方法和属性的继承规则,以及解决冲突的策略。通过具体代码示例,展示了如何在多继承场景下正确使用super()方法初始化基类。
2117

被折叠的 条评论
为什么被折叠?



