假设我得到了python对象A
,它是类A
的一个实例。类A
的每个实例都有一个属性SubType
。你知道吗
我还有SubType_B
、SubType_C
和SubType_D
类,每个类都有一个名为ingest()
的方法。ingest()
方法以前使用(self)
获取它所需的所有参数,但是self
现在是类A
的实例。你知道吗
从SubType
类(例如SubType_A
)继承/使用方法ingest()
,使用对象A
的self
,最优雅的方法是什么?你知道吗
以前,ingest()
方法是在类A
中定义的,但是我想把它分解成不同的类。类A
被实例化,并且基于SubType
参数,该对象将从相应的SubType
类继承正确的ingest()
方法。你知道吗
简单地说,我希望一个对象从另一个对象获取一个方法,就好像它是自己的一样。你知道吗
更新 最终的解决方案是生成一个工厂函数,返回
SubType
类的实例。这个工厂读取传递给它的参数中的信息,这些参数决定实例化哪个SubType
类。SubType
类都扩展了Class A
。你知道吗我把事情设想得倒过来,认为我从最一般的类开始,然后合并了子类的属性和方法。这个类似工厂的函数完成必要的信息收集,然后实例化适当的子类。你知道吗
感谢@HenryGomersall和@IgnacioVazquez Abrams的意见和澄清。你知道吗
相关问题 更多 >
编程相关推荐