0

让子类 (B) 实例调用其父类 (A) 实例的方法之一的最佳方法是什么?传递self给子类 (B) 的实例似乎可行,但不知何故,这似乎不是有效的或良好的做法。有什么更好的方法来解决这个问题吗?

class A():
    def __init__(self,name):
        self.instanceOfB = self.B(self)
        self.name = name

    def hello(self):
        print 'Hello '+self.name

    class B():
        def __init__(self,parent):
            self.parent = parent

        def hi(self):
            self.parent.hello() ##Call parent instance's method 'hello()' here

instanceOfA = A('Bob')
instanceOfA.instanceOfB.hi()

应该导致:

Hello Bob

@classmethod并且@staticmethod仅在A.hello()不依赖于使用 A 类实例化的任何信息时才有效

4

0 回答 0