Python编程语言有哪些鲜为人知但有用的功能?
我是否可以要求实现接口的类具有某个静态字段或方法,并通过泛型类型参数访问/调用该字段或方法?
我有一个接口,Arithmetical<T>它指定了几个函数,如T plus(T o)和T times(T o).我也有一个Vector<N extends Arithmetical<N>>类,它用于具有类型组件的向量(可变维度)N.然而,当我尝试实现点积时,我遇到了一个问题.
我想实现这个方法N dot(Vector<N> o).对于这一点,我打算开始与任何N的零是通过这两个迭代Vector<N>S' List<N>S,将每一对元素的产品给我的总.有没有一种方法可以指定Arithmetical<T>所有实现类必须有一个静态(最好是最终的)字段,ZERO并且开始dot(Vector<N> o)的主体有一些类似的东西N sum = N.ZERO;?
如果没有,那么这个问题还有什么其他方法呢?我想允许0维向量,所以我不能仅仅通过将向量的第一个组件相乘来开始.有没有办法实例化泛型类型的对象,所以我只能指定一个T zero()方法Arithmetical<T>?
我有理由不使用Java的数字类型 - 我希望有复杂组件的向量.
这是算术:
public interface Arithmetical<T> {
public T plus(T o);
public T minus(T o);
public T negate();
public T times(T o);
public T over(T o);
public T inverse();
// …Run Code Online (Sandbox Code Playgroud)