저는 scala에서 groovy 스크립트를 동적으로 실행하고 있습니다. 그리고 setProperty()를 통해 Groovy 스크립트에 전달 된 클래스의 인스턴스가 있습니다. 예를 들어, TestA라는 클래스가 있고 TestB 클래스가 TestA 클래스를 상속한다고 가정 해 봅시다. 그리고 당신이Groovy Script Engine에서 전달 된 클래스의 수퍼 클래스 변수에 어떻게 액세스합니까?
setProperty("testB", testB) // testB is an instance of class TestB
처럼 그루비 스크립트 클래스 B의 인스턴스를 통과하고 그루비 스크립트, 나는를 TestB에서 선언 된 변수에 액세스 할 수 있습니다 실행하고 있습니다. 하지만 TestB의 수퍼 클래스 인 TestA의 변수에 액세스하려고하면 그루비가 "클래스에 해당 속성 없음"이라는 오류 메시지를 표시합니다.
주어진 인스턴스에서 TestA와 TestB의 메소드를 여전히 호출 할 수 있습니다. 따라서 setter와 getter를 작성하면 TestA의 변수에 액세스 할 수 있지만 그렇게하고 싶지는 않습니다.
setter/getter를 사용하지 않고 TestA의 변수에 액세스 할 수 있습니까? Expando 같은 것을 사용하고 싶습니까? 당신이 게터을 쓰고 싶어하지 않기 때문에
는
각 필드에 특수 효과를 쓰지 않고도 할 수있는 방법이 있었으면 좋겠다고 생각했지만 감사합니다. – Elonoa