对于一个非常基本的类别通用模型,我试图以逆向方式获得与一对对象相关联的态射。
class Obj[DerivedObj <: Obj[DerivedObj]] { /* ... */ }
class Morphism[DerivedMorphism <: Morphism[DerivedMorphism]] { /* ... */ }
我想以某种方式定义:
def mor( from : SomeConcreteObj, to : SomeConcreteObj ) : SomeConcreteMorphism;
但是使用morj作为Obj方法的“明显”解决方案将要求Obj通过Morphism进行类型参数化。
实现这样的事情的Scala方式是什么?
答案 0 :(得分:0)
好的,我的实体关系不好。据推测,这意味着mor实际上是某种类别的方法:
trait Cat[O,M] {
def mor( from : O, to : O ) : M;
}
似乎可以解决问题。