python多继承

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python多继承相关的知识,希望对你有一定的参考价值。

单继承:一个子类只有一个直接父类时称这个继承关系为单继承 

多继承:一个子类有两个或以上直接父类时称这个继承关系为多继承 

菱形继承:菱形继承是多继承的一种特殊情况

#多继承
class A:
def func01(self):
print("in func01 A")
def func04(self):
print("in func04 A")
class B:
def func02(self):
print("in func02 B")
def func04(self):
print("in func04 B")
class C(B,A): #当c类所继承的多个父类中拥有同一个方法的时候,遵循就近原则(谁写在前面就继承谁的)
def func03(self):
print("in func03 C")
class D(A,B):
pass #占位符,无实际意义
if __name__ == __main__:
c = C()
c.func02()
c.func04() #此时由就近原则可得c继承B类的func04方法(因为b离c近)
d= D()
d.func04() #此时由就近原则可得c继承A类的func04方法(因为A离D近)

运行结果

/usr/local/bin/python3 /root/PycharmProjects/NSD211/day8/day9.py

in func02 B

in func04 B

in func04 A


Process finished with exit code 0

以上是关于python多继承的主要内容,如果未能解决你的问题,请参考以下文章

python-多继承

python 单继承多继承菱形继承

python多继承

python多继承

Python 继承 // 多继承

Python 类的多继承