使用multimethod强制函数输入类型成为其自身的类

时间:2014-10-08 15:33:31

标签: python python-3.x

我正在尝试创建一个简单的库来处理矩阵和向量。为此,我创建了一个类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中做到这一点,还是有更好的解决方案?

0 个答案:

没有答案