我正在尝试创建一个简单的库来处理矩阵和向量。为此,我创建了一个类vec并从中继承了vec2,vec3和vec4类。在这些类中,我想强制某些函数参数的类型只接受它们自己的类型,例如
class vec3 ( vec ):
@mutlimethod
def cross ( self, other : vec3 ):
#[function code]
(使用来自此处的多方法http://www.artima.com/weblogs/viewpost.jsp?thread=101605)
这将返回错误“NameError:name'vec3'未定义。”
很自然地,作为一名C程序员,我想创建一个类原型或一个前向声明,然后像我这样正常地定义我班级中的内容:
class vec3;
class vec3 {
vec3 cross ( vec3 other ){
//[function code ]
}
有没有办法在python中做到这一点,还是有更好的解决方案?