在Python中,是否可以创建一个类来复制某个类的功能,但更改它的基类?

2024-06-26 04:07:08 发布

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

原始类结构如下所示:

class PyLibMCCache(BaseMemcachedCache):
class BaseMemcachedCache(BaseCache):

我创建了一个具有附加功能的类,名为BaseTagsMemcachedCache,它派生自BaseMemcachedCache,如下所示:

class BaseTagsMemcachedCache(BaseMemcachedCache):

是否可以创建与PyLibMCCache相同的新类(例如,具有相同的方法和属性),但以BaseTagsMemcachedCache作为其基类?我使用Mixin(BaseTagsCacheMixin)作为解决方法,但我认为可能有更好的解决方案。你知道吗


Tags: 方法功能属性解决方案mixin基类结构class
2条回答

Python类可以有多重继承。这对你有用吗?你知道吗

可以创建具有相同属性但基类不同的新类型,如下所示:

PyLibMCTagsCache = type("PyLibMCTagsCache", 
                        (BaseTagsMemcachedCache,),
                        vars(PyLibMCCache))

不过,这对我来说似乎有点复杂。我可能会选择更直接的设计。你知道吗

相关问题 更多 >