对于一个非常基本的类别通用模型,我试图以一种逆变的方式获得与一对对象相关联的态射。
class Obj[DerivedObj <: Obj[DerivedObj]] { /* ... */ }
class Morphism[DerivedMorphism <: Morphism[DerivedMorphism]] { /* ... */ }我想以某种方式来定义:
def mor( from : SomeConcreteObj, to : SomeConcreteObj ) : SomeConcreteMorphism;但是,使mor成为Obj方法的“显而易见的”解决方案将要求Obj另外通过Morphism进行类型参数化。
Scala实现这一目标的方式是什么?
发布于 2012-05-01 15:33:56
好吧,我这方面的实体关系不好。其含义可能是mor实际上是某个Category类的一个方法:
trait Cat[O,M] {
def mor( from : O, to : O ) : M;
}这似乎可以解决这个问题。
https://stackoverflow.com/questions/10388570
复制相似问题