Scala에서 다음과 같이 작성할 수 있습니까?스칼라 멤버에게 어떻게 위임 할 수 있습니까?
trait Road {
...
}
class BridgeCauseway extends Road {
// implements method in Road
}
class Bridge extends Road {
val roadway = new BridgeCauseway()
// delegate all Bridge methods to the `roadway` member
}
또는 Road
의 각 메서드를 하나씩 구현하고 roadway
에서 해당 메서드를 호출해야합니까?
참조 케빈 라이트의 자동 프록시 컴파일러 플러그인. –
@ 대니얼 (Daniel) - 흥미롭게도, 나는 최근에 그 중 하나를 다시 해고했다. 2.9 컴파일러는 원래 설계를 지원할 수있는 것으로 변경되었습니다. –
@kevin - 멋지다! 나는 모든 사람들이이 프록시 기능을 필요로한다고 생각한다. 확실히 scala의 표준 기능이어야합니다! 나는 항상 포워더를 쓰고 있는데, 나는 컴파일러 플러그인을 설치하는 게 너무 게으른 이유가 바로 그 것이다. 나는 그것을 설치하고 투명하게 그것을 사용하는 sbt, 아이디어 등을 설득 할 필요가있다. 프리젠 테이션 컴파일러에서 작동합니까 (예 : 아이디어)? –