我有一个派生自基类的类,并且有很多行代码
例如
class AutoComplete(TextCtrl):
.....
我想做的是改 rebase 类,让它像这样工作
class AutoComplete(PriceCtrl):
.....
我已经使用了这两种类型的自动完成,并且可能想添加更多基类,那么我该如何动态地进行呢?
组合本来是一种解决方案,但我不想修改太多代码。
有什么简单的解决方案吗?
最佳答案
你可以为你的类创建一个工厂:
def completefactory(baseclass):
class AutoComplete(baseclass):
pass
return AutoComplete
然后使用:
TextAutoComplete = completefactory(TextCtrl)
PriceAutoComplete = completefactory(PriceCtrl)
另一方面,根据您想要实现的目标和您的类的外观,AutoComplete 可能是一个混入,因此您可以定义 TextAutoComplete
:
class TextAutocomplete(TextCtrl, AutoComplete):
pass
关于python - 如何改 rebase 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1334222/