所讨论的模式涉及一个抽象类,它具有一些可以工作的方法,然后调用抽象方法。该类用于在匿名类中进行子类化,并指定抽象方法的行为。举个例子:在Java中使用匿名类的模式有没有名称?
/* 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。这种模式有一个共同的名字吗?
听起来像一个功课问题? – Fuhrmanator
没有。我在AsycTask的Android项目中使用它,并且使用该模式昨天重构了一个混乱的异步webcall,这让我想知道它是否有名字。 – evanjdooner