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

2024-05-20 17:59:00 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我得到了python对象A,它是类A的一个实例。类A的每个实例都有一个属性SubType。你知道吗

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

SubType类(例如SubType_A)继承/使用方法ingest(),使用对象Aself,最优雅的方法是什么?你知道吗

以前,ingest()方法是在类A中定义的,但是我想把它分解成不同的类。类A被实例化,并且基于SubType参数,该对象将从相应的SubType类继承正确的ingest()方法。你知道吗

简单地说,我希望一个对象从另一个对象获取一个方法,就好像它是自己的一样。你知道吗


Tags: 对象实例方法self参数属性定义ingest
1条回答
网友
1楼 · 发布于 2024-05-20 17:59:00

更新 最终的解决方案是生成一个工厂函数,返回SubType类的实例。这个工厂读取传递给它的参数中的信息,这些参数决定实例化哪个SubType类。SubType类都扩展了Class A。你知道吗

我把事情设想得倒过来,认为我从最一般的类开始,然后合并了子类的属性和方法。这个类似工厂的函数完成必要的信息收集,然后实例化适当的子类。你知道吗

感谢@HenryGomersall和@IgnacioVazquez Abrams的意见和澄清。你知道吗

相关问题 更多 >