将方法从Python类导入另一个类实例

时间:2014-11-13 17:13:06

标签: python class inheritance

我们说我有python对象A,这是类A的一个实例。班级A的每个实例都有一个属性SubType

我还有课程SubType_BSubType_CSubType_D,每个课程都有一个名为ingest()的方法。 ingest()方法以前使用(self)来获取所需的所有参数,但self现在是类A的实例。

使用对象ingest()中的SubTypeSubType_A类(例如self)继承/使用方法A的最优雅方法是什么? }?

以前,ingest()方法是在类A中定义的,但我想将其分解为单独的类。类A已实例化,并且基于SubType参数,该对象将从相应的ingest()类继承正确的SubType方法。

简单来说,我希望一个对象从另一个对象中获取方法,就好像它是自己的一样。

1 个答案:

答案 0 :(得分:0)

更新 最终解决方案是创建一个返回SubType类实例的工厂函数。该工厂读取传递给它的参数中的信息,确定要实例化的SubType类。 SubType个类都扩展为Class A

我设想了倒退的东西,以为我从最通用的类​​开始,然后从子类中合并属性和方法。这个类似工厂的函数执行必要的信息收集,然后实例化相应的子类。

感谢@HenryGomersall和@ IgnacioVazquez-Abrams的想法和澄清。