私はC++プログラマーであり、以下の例に出くわしたときにこのサイトを読んでいました。この手法はJavaで何と呼ばれていますか?それはどのように役立ちますか?
class Application {
...
public void run() {
View v = createView();
v.display();
...
protected View createView() {
return new View();
}
...
}
class ApplicationTest extends TestCase {
MockView mockView = new MockView();
public void testApplication {
Application a = new Application() { <---
protected View createView() { <---
return mockView; <--- whao, what is this?
} <---
}; <---
a.run();
mockView.validate();
}
private class MockView extends View
{
boolean isDisplayed = false;
public void display() {
isDisplayed = true;
}
public void validate() {
assertTrue(isDisplayed);
}
}
}