0
class A(object):

    def print_some(self):
        print 'a'

class B(object):

    def print_some(self):
        print 'b'

class C(A, B):
    pass

c = C()
print c.print_some()
'a'

我对输出的期望是'b'。我想这样做的原因是因为我想重写一些方法,比如说form_validCreateViewdjango 中,只需继承我编写的包含 custom 的类form_valid,还是有更好的方法?

4

2 回答 2

4

Aclass C(A, B)指令中的第一个(左),因此您print_some从中获取方法(A类)。在这里阅读。

于 2012-12-20T10:45:00.777 回答
0

根据您的问题,我希望您可以更改 B 和 C 的继承,不是吗?那么你为什么不建立像这样的继承

A <- B <- C

或在代码中:

class A(object):
    ....

class B(A):
    ...

class C(B):
    ...

这应该会给你想要的输出。

于 2012-12-20T12:01:56.243 回答