可以使用Python进行部分继承吗?

可以使用Python进行部分继承吗?,第1张

可以使用Python进行部分继承吗?

在这种情况下,正确的做法是让另一个类仅实现所需的方法的“
mixin”方法。但是为了完整起见,它可以准确地回答您的要求,我补充说,是的,它可能具有与您想要的“部分继承”一样的行为(但请注意,这种概念在形式上并不存在)。

所有要做的就是在新类上添加成员,该成员引用您要在其中重复的方法或属性:

class Class2(object):   def method(self):      print ("I am method at %s" % self.__class__)class Class1(object):   passclass Class0(Class1):   method = Class2.__dict__["method"]ob = Class0()ob.method()

请注意,

__dict__
在Python 2.x(最高2.7)中,需要从类中检索方法,这是由于进行了运行时转换以在方法中转换函数所致。在Python
3.0及更高版本中,只需更改以下行

method = Class2.__dict__["method"]

method = Class2.method


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存