В Android MapsDemo, доступной в Eclipse для Google API, они создают внутренний класс SmoothCanvas
в MapViewCompassDemo.java. Внутри этого класса, по-видимому, заново реализуем каждый метод и перенаправляем его на экземпляр делегата Canvas
.
static final class SmoothCanvas extends Canvas {
Canvas delegate;
private final Paint mSmooth = new Paint(Paint.FILTER_BITMAP_FLAG);
public void setBitmap(Bitmap bitmap) {
delegate.setBitmap(bitmap);
}
public void setViewport(int width, int height) {
delegate.setViewport(width, height);
}
...
Какой смысл делегата в этом случае?