如何从另一个派生类访问派生类方法

时间:2011-01-18 15:26:42

标签: python wxpython

我正在使用wxpython来生成GUI。我正在做的程序结构如下所示。我为GUI的每个部分(class1和class2)都有一个类。我正在使用Panel类来创建这些部分。 class1和class2派生自另一个类(Group类)。我想动态地从其他派生类访问派生类的方法。所以,当我在classA.method1()时,我想调用classB.method3()。最好的方法是什么?

class Panel(wx.Panel):

    def __init__(self, parent):
        class1 = ClassA()
        class2 = ClassB()


class Group(wx.Panel):

    def __init__(self, parent, name):
        .
        .
        .


class ClassA(Group):

    def method1(self):
        ....

    def method2(self):
        ....

class ClassB(Group):

    def method3(self):
        ....

    def method4(self):
        ....

1 个答案:

答案 0 :(得分:0)

我假设您要调用类方法,而不是该类实例的方法。

从ClassA.method1(),ClassB应该是全局的,所以你要做的就是:

class ClassA(Group):

    def method1(self):
        classB.method3(someclass)

现在你要做的就是弄清楚你想要为'someclass'添加什么。如果method3从不使用'self',那么只需将其传递给None。如果ClassA兼容,那么你可以将它传递给'self'。否则,您需要传递一个ClassB实例。