7
호출 한 클래스의 타입을 항상 반환하는 메소드를 만들 수 있습니까?스칼라에서 이것의 타입
는 설명해 드리죠 :
class Shape {
var mName: String = null
def named(name: String): Shape = {
mName = name
this
}
}
class Rectangle extends Shape {
override def named(name: String): Rectangle = {
super.named(name)
this
}
}
이 작동하지만 내 서브 클래스의 모든에서 named
함수를 재정의 할 필요없이이 작업을 수행 할 수있는 방법이 있나요? 내가 뭔가를 찾고 있는데요 (작동하지 않습니다) :
class Shape {
var mName: String = null
def named(name: String): classOf[this] = { // Does not work but would be great
mName = name
this
}
}
class Rectangle extends Shape {
}
어떤 생각? 아니면 불가능한가요?
'this'가 아닌 인스턴스에는 싱글 톤 유형을 사용할 수 없다는 점을 언급 할 필요가 있습니다. – pedrofurla
@pderofurla : 경로 의존형에서는 가능해야하지만, 스칼라에서는 경로 의존형에 대해서는 거의 알지 못합니다. 아직 실험 중인지 여부도 확실하지 않습니다. –
필자는 경로 의존형과 전혀 관련이 없다고 생각합니다. 경로 의존형은 실험적이지 않습니다. – pedrofurla