2012-04-30 2 views
1

매우 기본적인 기본 모델 범주의 경우, 한 쌍의 객체와 연관된 반전 변이를 반올림 방식으로 얻으려고합니다. 내가 좋아하는 것스칼라의 반 조작 이진 연산

class Obj[DerivedObj <: Obj[DerivedObj]] { /* ... */ } 

class Morphism[DerivedMorphism <: Morphism[DerivedMorphism]] { /* ... */ } 

어떻게 든 정의 할 수 :

def mor(from : SomeConcreteObj, to : SomeConcreteObj) : SomeConcreteMorphism; 

하지만 제작의 '명백한'솔루션은 MOR 확대 개체를 필요로 확대 개체하는 방법이 추가로 morphism에 의해-파라미터 입력 할 수 있습니다.

그런 일을 성취하기위한 스칼라 방법은 무엇입니까?

+1

'mor'이 반환해야 할 많은 변형이 있습니까? –

답변

0

확인, 내 부분에 잘못된 엔티티 관계가 있습니다. 아마도 암시는 mor이 실제로 어떤 카테고리 클래스의 메소드라는 것입니다 :

trait Cat[O,M] { 
    def mor(from : O, to : O) : M; 

} 

이 문제를 해결하는 것으로 보입니다.