我有以下Cython类,它将C++类^ {< CD1>}(在^ {CD2>}文件中声明)作为类属性
cdef class CythonHolder:
cdef CPP_Holder holder
def __cinit__(self, int parameter):
self.holder = CPP_Holder(parameter)
def get_param(self):
return self.holder.param
[other methods]
因为我有一组类似的类(比如CythonHolder
),它们都有get_param
这样的方法,我想可以引入一个基类(或mixin)类,类似于传统的Python方法,允许这些holder类继承这些常用方法,
i、 e
cdef class CommonMethods:
def get_param(self):
return self.holder.param
[other methods...]
cdef class CythonHolder(CommonMethods):
cdef CPP_Holder holder
def __cinit__(self, int parameter):
self.holder = CPP_Holder(parameter)
不幸的是,它没有编译,因为错误抱怨self.holder
没有在类CommonMethods
中定义。作为Cython的新手,我知道cdef class
的行为与传统的Python不同。但是,是否有一种机制允许实现这种简单的继承
目前没有回答
相关问题 更多 >
编程相关推荐