美文网首页
python中super关键字的使用

python中super关键字的使用

作者: 双_双 | 来源:发表于2019-10-24 19:44 被阅读0次

    案例一:单继承时super关键字的使用:

    单继承

    log:

    log

    解释:这里的super强制调用了父类的方法,不仅仅是__init__方法,也可以是强制调用父类普通方法(如cry)


    案例二:多继承时super的使用

    先不看cry方法,只看__init__方法,原理都是一样的,这里的哈士奇和金毛都继承了Dog类,而杂交犬继承了金毛和哈士奇

    多继承

    看一下log:

    虽然只创建了一个dog3对象,但是分别调用了Dog,Husky,Golden的__init__方法。

    log

    案列三:不使用super关键字,写一下多继承:

    用父类直接调用自己的__init__方法

    不使用super

    看一下log:

    可以发现这里多打印了一句“普通狗狗的眼睛是黑色”,也就是说多调用了一次Dog()的__init__()方法

    log

    总结:所以super可以用来强制调用父类方法(包括__init__方法,和其他自定义方法),但是super可以避免多继承时重复调用父类方法。

    相关文章

      网友评论

          本文标题:python中super关键字的使用

          本文链接:https://www.haomeiwen.com/subject/aqflvctx.html