2012-03-23 5 views
1

기존 인터페이스에 매우 잘 맞는 메소드 서명이있는 타사 bean이 있지만 인터페이스를 구현하지 않습니다.익명 클래스를 통한 제 3 자 클래스의 Java 강제 인터페이스

이제는 이런 식으로하고 싶습니다. 효과가 없습니다. 몇 가지 해결 방법이 있습니까?

someBean.setSomeInterface(
     new Interface() extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface { 
    }); 
+1

어댑터 패턴은 어떻습니까? http://en.wikipedia.org/wiki/Adapter_pattern – ftr

답변

2

당신은 당신의 인터페이스를 구현하는 클래스를 정의이

에 대한 decorator 패턴을 사용하고 someBean 구현에 모든 메소드 호출 위임에 있습니다.

1

나는 당신이 할 수있는 모든 것에 대해 (위에서 한 것처럼) 클래스를 확장 한 다음 구현을 말합니다.

예 :

public class MyImplementingClass extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface implements MyInterface { 

.... 
} 

물론 인터페이스에 코드를 적용하면 미래에 문제가 발생할 수 있습니다. 그 사실을 알고 있어야합니다.