我有一个函数,它返回类 Parent 的实例:
def generateParent():
do_stuff
return Parent(some_parameters)
现在我想用调用
generateParent()
的结果来初始化一个Parent的子类:class Child(Parent):
def __new__():
return generateParent(some_other_parameters)
问题是,当我在Child类中覆盖了一些来自Parent的方法,然后在程序的Child实例中调用它们时,原始的Parent方法被调用,而不是来自Child的新方法。我这里做错了什么吗?我在这里使用了正确的设计吗?
编辑:我既没有访问Parent也没有访问generateParent()
解决方案(感谢@Paul McGuire的回答):
class Child(object):
def __init__(self):
self.obj = generateParent()
def __getattr__(self, attr):
return getattr(self.obj, attr)