我正在尝试运行具有如下继承模式的 python 代码:
A Object
| /\
| B C
| | |
| D E
\ | /
\|/
F
A = Base Handler
B = OAuth2 Mixin
C = OAuth Mixin
D = Facebook Graph Mixin
E = Twitter Mixin
B、C、D、E中的函数名重叠。 D 和 E 是 mixin,所以它们不应该独立产生。我该如何解决这个问题,以便 F 类可以调用特定的混入?
最佳答案
如果您提前知道C
和D
的名称,您可以直接调用它们的方法并显式传递self
:
class E(C, D):
def do_c_thing(self):
# Call C's version
C.some_method(self, ...)
def do_d_thing(self):
# Call D's version
D.some_method(self, ...)
关于Python多重继承问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11912261/