我们说我有python对象A
,这是类A
的一个实例。班级A
的每个实例都有一个属性SubType
。
我还有课程SubType_B
,SubType_C
和SubType_D
,每个课程都有一个名为ingest()
的方法。 ingest()
方法以前使用(self)
来获取所需的所有参数,但self
现在是类A
的实例。
使用对象ingest()
中的SubType
从SubType_A
类(例如self
)继承/使用方法A
的最优雅方法是什么? }?
以前,ingest()
方法是在类A
中定义的,但我想将其分解为单独的类。类A
已实例化,并且基于SubType
参数,该对象将从相应的ingest()
类继承正确的SubType
方法。
简单来说,我希望一个对象从另一个对象中获取方法,就好像它是自己的一样。
答案 0 :(得分:0)
更新
最终解决方案是创建一个返回SubType
类实例的工厂函数。该工厂读取传递给它的参数中的信息,确定要实例化的SubType
类。 SubType
个类都扩展为Class A
。
我设想了倒退的东西,以为我从最通用的类开始,然后从子类中合并属性和方法。这个类似工厂的函数执行必要的信息收集,然后实例化相应的子类。
感谢@HenryGomersall和@ IgnacioVazquez-Abrams的想法和澄清。