Python类的继承顺序

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

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

我有一个类ExampleSim,它来自基类Physics

class Physics(object):
    arg1 = 'arg1'
    def physics_method:
        print 'physics_method'

class ExampleSim(Physics):
    print 'example physics sim'

想象一下这些类包含大量代码。 现在我对Physics做了一些修改,定义了一个新的类PhysicsMod,并继承了{}:

^{pr2}$

但同时也指向ExampleSim,我为其创建了一个新的类ExampleSimMod,并从{}继承:

class ExampleSimMod(ExampleSim):
    print 'modified example sim'

我的问题是ExampleSimMod继承自ExampleSim,后者继承自Physics,我希望它继承自{}。有办法吗?也许是通过super()或多重继承?在

class ExampleSimMod(ExampleSim, PhysicsMod):
    print 'modified example sim'

Tags: objectexampledefsim基类methodclassmodified
1条回答
网友
1楼 · 发布于 2024-10-01 17:27:58

是的,你可以做多重继承。在

class Physics(object):
    def physics_method(self):
        print 'physics'

class ExampleSim(Physics):
    def physics_method(self):
        print 'example sim'

class PhysicsMod(Physics):
    def physics_method(self):
        print 'physics mod'

class ExampleSimMod(PhysicsMod, ExampleSim):
    pass

e = ExampleSimMod()
e.physics_method()
// output will be:
// physics mod

请注意ExampleSimMod事件中类的顺序。这是关于这件事的great article。在

为了演示的原因,我修改了你的代码。希望我的回答能对你有所帮助!在

相关问题 更多 >

    热门问题