ITPub博客

首页 > IT职业 > IT生活 > 如何实现python中super()多重继承?

如何实现python中super()多重继承?

IT生活 作者:oswald 时间:2021-09-11 10:06:16 0 删除 编辑

在计算机编程中,继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。之前小编向大家介绍了python中继承函数super()(https://www.py.cn/jishu/jichu/21695.html),不过当涉及到多继承情况时,一些调用方式就会产生差异,就需要做出相应的调整。那么,我们一起来看看多继承情况下,super()如何调用吧。

实例:涉及多重继承

代码:

class Base(object):
    def __init__(self):
        print("enter Base")
        print("leave Base")


class A(Base):
    def __init__(self):
        print("enter A")
        super(A,self).__init__()
        print("leave A")


class B(Base):
    def __init__(self):
        print("enter B")
        super(B,self).__init__()
        print("leave B")

class C(A,B):
    def __init__(self):
        print("enter C")
        super(C,self).__init__()
        print("leave C")


c=C()

输出

C:python36python.exe E:/demo/testPyQt.py
enter C
enter A
enter B
enter Base
leave Base
leave B
leave A
leave C

Process finished with exit code 0

python中的super()方法设计目的是用来解决多重继承时父类的查找问题,所以在单重继承中用不用 super 都没关系,但是,在子类中需要调用父类时,使用super() 是一个好方法哦~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2231/viewspace-2831804/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    137
  • 访问量
    1302