首页 > 解决方案 > 更改继承类中的函数

问题描述

我有一个看起来像这样的课程。

class General(Big_class):
   define func(self)
   self.x(arg)
   some_other_stuff

x是 中的一个函数Big_class。我想创建一个新类,它允许我调用类似的函数来x代替. 有没有一种不涉及重新定义整个功能的方法?我不想这样做,因为它很长,我将不得不重复几次。yzfuncsome_other_stuff

class Specific(General, Big_class):
   def func(self)
   self.y(arg)
   some_other_stuff

我可以改为在内部做这样的事情General并设置a为我想要的任何内容Specific吗?或者有什么类似的我可以做的吗?

class General(Big_class):
 a = x
   define func(self)
   self.a(arg)
   some_other_stuff

标签: python

解决方案


我正在阅读您的问题。

有没有办法保留所有的功能,func但做一些不同于x.

你最初的解决方案是你想在那里调用不同的东西,但为什么不在x你的子类中重新定义呢?

class Specific(General, Big_class):
   def x(self)
     # some different implementation

推荐阅读