WEB开发网
开发学院手机开发Android 开发 模板方法(Template method)模式在Android应用 阅读

模板方法(Template method)模式在Android应用

 2010-10-14 06:21:00 来源:本站整理   
核心提示:@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(new MyView(this));}}这个例子中,MyView实现了基类View的onDraw方法,模

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(new MyView(this));

}

}

这个例子中,MyView实现了基类View的onDraw方法,该方法是protected,不能被用户调用的。那么谁会调用这个方法呢?如果你仔细研究一下View.java的代码,你就会发现在View的draw方法中调用了onDraw方法。逻辑如下:

public void draw(Canvas canvas) {

.......

onDraw(canvas);

.......

}

由此可见基类View中已经定义好了模板方法,所以派生类中只需要定义onDraw方法在窗口上面画怎么画就可以了。用户调用view对象的模板方法draw方法来绘制窗口。

Android模板方法有这个很广泛的应用,基本上随处可见。在比如Activity类的onCreate,onStart等方法,都是在基类定义好了模板方法,而这些方法可以理解成派生类具体实现。当在适当条件下,基类根据自己的逻辑调用基类中的这些方法。

我们在做软件的过程中,要多以设计模式的眼光来研究问题,分析问题,对我们分析问题的能力会有一个比较大的提高。

上一页  1 2 

Tags:模板 方法 Template

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接