문제의 패턴에는 일부 작업을 수행 한 다음 추상 메서드를 호출하는 메서드가있는 추상 클래스가 포함됩니다. 클래스는 익명 클래스에서 서브 클래 싱하고 추상 메서드의 동작을 지정하여 사용됩니다. 예 :
/* The abstract class */
abstract class WebCall {
String url;
WebCall(String url) {
this.url = url;
}
void call() {
// Make call to url
// Callback
if (worked) {
success();
} else {
failure();
}
}
protected abstract void success();
protected abstract void failure();
}
다음과 같이 클래스를 사용합니다.
new WebCall(someUrl) {
@Override
protected void success() {
// Implementation
}
@Override
protected void failure() {
// Implementation
}
}.call();
실제 사례는 Android의 AsyncTask 입니다. 이 패턴에 공통 이름이 있습니까?
템플릿 메서드 라고 하며 익명 클래스의 사용과 특별히 관련이 없습니다. 구현 세부 사항입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다