欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python多重继承

程序员文章站 2022-07-15 17:31:12
...

多重继承可以允许继承多个父类,实现多个父类的功能,具体可以参考这里

那么若当多个父类有相同的方法时,调用这个方法会如何。
答:会调用继承第一个类中的方法。这是按照Python方法解决顺序执行,参考如下代码。

class A:
    def say_hello(self):
        print("Hi from A")

class B:
    def say_hello(self):
        print("Hello from B")

class C(A, B):
    def say_hello(self):
        super().say_hello()


welcome = C()
print("the method resolution order: {}".format(C.__mro__))
welcome.say_hello()

运行结果为:

the method resolution order: (<class ‘main.C’>, <class ‘main.A’>, <class ‘main.B’>, <class ‘object’>)
Hi from A

如果需要调用每个父类的方法,可以明确写明调用。

class C(A, B):
    def say_hello(self):
        A.say_hello(self)
        B.say_hello(self)

更详细可以参见Stack Overflow

相关标签: Python 多重继承