Python-如何避免调用祖父母构造函数(多重继承)

纽尔夫

BC从class继承ADB继承C

class A:
    def __init__(self):
        print('A')

class B(A):
    def __init__(self):
        A.__init__(self)
        print('B')

class C(A):
    def __init__(self):
        A.__init__(self)
        print('C')

class D(B, C):
    def __init__(self):
        B.__init__(self)
        C.__init__(self)
        print('D')

d = D()

这将输出:

A
B
A
C
D

有没有办法避免对构造函数的双重调用A

注意:在我的真实情况下,__init__来自B方法C没有相同的签名,因此使用super()是不可行的(据我所知...)

干杯!

马克·兰索姆

如果您知道A将在多个基类中使用它,则可以让它自己检测双重初始化。

class A:
    def __init__(self):
        if hasattr(self, '_initialized'):
            return
        print('A')
        self._initialized = true

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何调用祖父母的构造函数(因为未定义父母的构造函数)?

来自分类Dev

“覆盖”构造函数并调用祖父母构造函数

来自分类Dev

如何覆盖父类的init方法,并使用super调用祖父母的init,而无需编辑父类?(python 3)

来自分类Dev

覆盖在祖父母的构造函数中调用的祖父母的虚拟方法

来自分类Dev

如何避免调用构造函数?

来自分类Dev

Python和构造函数中的多重继承

来自分类Dev

C ++继承:避免调用基类的默认构造函数

来自分类Dev

从孙子类调用父类构造函数,调用父代或祖父母构造函数?

来自分类Dev

Python继承调用构造函数问题

来自分类Dev

如何在Python 3中避免对继承类的构造函数发出Pylint警告?

来自分类Dev

Python多重继承:全部调用

来自分类Dev

使用super()时未调用Python多继承构造函数

来自分类Dev

Python3.4多继承调用特定的构造函数

来自分类Dev

Flex div继承祖父母的高度而不是父母的高度

来自分类Dev

C ++继承-将父母更改为祖父母

来自分类Dev

Python调用父方法多重继承

来自分类Dev

Python调用父方法多重继承

来自分类Dev

多重继承中的构造函数调用序列

来自分类Dev

Python:如何从成员函数中调用构造函数

来自分类Dev

python中的多个构造函数,使用继承

来自分类Dev

是在python中继承的构造函数吗

来自分类Dev

构造函数在继承的类python中失败

来自分类Dev

Python-继承一个已初始化的类而不调用超级构造函数

来自分类Dev

使用jQuery load()函数获取元素的祖父母

来自分类Dev

祖父母组件未将参数传递给函数

来自分类Dev

python 2.7-如何调用父类构造函数

来自分类Dev

Python ABC多重继承

来自分类Dev

Python多重继承问题

来自分类Dev

Python多重处理。您如何从孩子那里获得父母的身份?

Related 相关文章

  1. 1

    我如何调用祖父母的构造函数(因为未定义父母的构造函数)?

  2. 2

    “覆盖”构造函数并调用祖父母构造函数

  3. 3

    如何覆盖父类的init方法,并使用super调用祖父母的init,而无需编辑父类?(python 3)

  4. 4

    覆盖在祖父母的构造函数中调用的祖父母的虚拟方法

  5. 5

    如何避免调用构造函数?

  6. 6

    Python和构造函数中的多重继承

  7. 7

    C ++继承:避免调用基类的默认构造函数

  8. 8

    从孙子类调用父类构造函数,调用父代或祖父母构造函数?

  9. 9

    Python继承调用构造函数问题

  10. 10

    如何在Python 3中避免对继承类的构造函数发出Pylint警告?

  11. 11

    Python多重继承:全部调用

  12. 12

    使用super()时未调用Python多继承构造函数

  13. 13

    Python3.4多继承调用特定的构造函数

  14. 14

    Flex div继承祖父母的高度而不是父母的高度

  15. 15

    C ++继承-将父母更改为祖父母

  16. 16

    Python调用父方法多重继承

  17. 17

    Python调用父方法多重继承

  18. 18

    多重继承中的构造函数调用序列

  19. 19

    Python:如何从成员函数中调用构造函数

  20. 20

    python中的多个构造函数,使用继承

  21. 21

    是在python中继承的构造函数吗

  22. 22

    构造函数在继承的类python中失败

  23. 23

    Python-继承一个已初始化的类而不调用超级构造函数

  24. 24

    使用jQuery load()函数获取元素的祖父母

  25. 25

    祖父母组件未将参数传递给函数

  26. 26

    python 2.7-如何调用父类构造函数

  27. 27

    Python ABC多重继承

  28. 28

    Python多重继承问题

  29. 29

    Python多重处理。您如何从孩子那里获得父母的身份?

热门标签

归档