您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

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

class Class2(object):
   def method(self):
      print ("I am method at %s" % self.__class__)

class Class1(object):
   pass

class 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
python 2022/1/1 18:33:54 有206人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶