语法,多继承
多继承: 一个同时继承多个父类 语法: 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