所討論的模式涉及一個抽象類,它具有一些可以工作的方法,然後調用抽象方法。該類用於在匿名類中進行子類化,並指定抽象方法的行爲。舉個例子:在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