让子类 (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 类实例化的任何信息时才有效