반응형
Java로 여러 인터페이스 구현-위임하는 방법이 있습니까?
아래 예제와 같이 많은 메소드로 여러 인터페이스를 구현하는 기본 클래스를 여러 인터페이스합니다.
방법을 사용할 수 있습니다.
public class MultipleInterfaces implements InterFaceOne, InterFaceTwo {
private InterFaceOne if1;
private InterFaceTwo if2;
public MultipleInterfaces() {
if1 = new ImplementingClassOne();
if2 = new ImplementingClassTwo();
}
@Override
public void classOneMethodOne { if1.methodOne(); }
@Override
public void classOneMethodTwo { if1.methodTwo(); }
/** Etc. */
@Override
public void classTwoMethodOne { if2.methodOne(); }
@Override
public void classTwoMethodTwo { if2.methodTwo(); }
/** Etc. */
}
말했듯이 방법이 없습니다. 약간 약간 괜찮은 IDE는 델리게이트 메서드를 자동 생성 할 수 있습니다. 예를 들어 Eclipse가 할 수 있습니다. 먼저 템플릿을 설정합니다.
public class MultipleInterfaces implements InterFaceOne, InterFaceTwo {
private InterFaceOne if1;
private InterFaceTwo if2;
}
그런 다음 마우스 오른쪽 버튼을 클릭하고 Source> 델리게이트 메소드 생성을 선택 if1
하고 if2
필드를 모두 선택한 다음 OK를 클릭 합니다.
다음 화면도 참조하십시오.
다중 인터페이스를 구현하는 한 가지 방법이 있습니다.
다른 인터페이스에서 하나의 인터페이스를 확장하거나 미리 정의 된 인터페이스를 확장하는 인터페이스를 만들기 만하면됩니다. 예 :
public interface PlnRow_CallBack extends OnDateSetListener {
public void Plan_Removed();
public BaseDB getDB();
}
이제 우리는 아웃 클래스에서 사용할 수있는 다른 인터페이스를 확장하는 인터페이스를 가지고 있습니다. 두 개 이상의 인터페이스를 구현하는 새로운 인터페이스가 사용됩니다.
public class Calculator extends FragmentActivity implements PlnRow_CallBack {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
}
@Override
public void Plan_Removed() {
}
@Override
public BaseDB getDB() {
}
}
도움이 되셨기를 바랍니다.
불행하게도.
우리는 모두 확장 메소드 에 대한 Java 지원을 간절히 기다리고 있습니다.
예쁜 방법은 없습니다. 방법이있는 방법이있는 방법으로 사용할 수 있습니다. 물론 생성되지 않기 때문에 팩토리를 설치합니다.
반응형
'ProgramingTip' 카테고리의 다른 글
C # 변수 범위 지정 : 'x'는 'x'에 다른 의미를 부여 할 수 없습니다. (0) | 2020.11.18 |
---|---|
정적 vs 글로벌 (0) | 2020.11.18 |
scanf ()는 버퍼에 새 줄 문자를 남깁니다. (0) | 2020.11.18 |
bash를 호출하고 새 셸 내에서 명령을 실행 한 다음 사용자에게 제어권을 다시 제공하는 방법은 무엇입니까? (0) | 2020.11.18 |
C ++ 람다 식의 수명은 얼마입니까? (0) | 2020.11.18 |