Python中具有相同基类的多重继承

2024-10-01 17:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试着用python解决多重继承问题。在

假设我有以下基类:

class Structure(object):
    def build(self, *args):
        print "I am building a structure!"
        self.components = args

假设我有两个类继承了它:

^{pr2}$

最后,创建一个使用多重继承的类:

class SchoolHouse(School, House):
    def build(self, *args):
        print "I am building a schoolhouse!"
        super(School, self).build(*args)

然后,我创建一个SchoolHouse对象并在其上运行build

>>> sh = SchoolHouse()
>>> sh.build("roof", "walls")
I am building a schoolhouse!
I am building a house!
I am building a structure!

所以我想知道School类发生了什么?有没有办法让Python同时运行呢?在

我特别想知道,因为有相当数量的Django包为模型提供了定制Managers。但似乎没有一种方法可以将它们结合起来,而不把其中一个管理者写成继承者。如果只是导入两者并以某种方式同时使用这两种方式,那就太好了,但看起来这是做不到的?在

另外,我想在Python中找到一个关于多重继承的好的入门知识也会有所帮助。我以前对mixin做过一些工作,非常喜欢使用它们。我想我只是想知道,当两个不同的类从同一个基类继承时,是否有任何优雅的方法来组合它们的功能。在

是的,我真傻。一直都是个打字错误。我觉得很蠢。我保证,当我在现实生活中表现出色的时候,我总是把正确的课放进去,直到我尝试这个的时候,我才把事情搞砸了。


Tags: 方法buildselfdefshargsam基类

热门问题