您的位置:首页 > 职场人生

黑马程序员--老毕的“模版方法设计模式”

2014-03-15 11:23 281 查看
老毕在讲完抽象类之后,讲了“模版方法设计模式”,内容是这样的:

在项目开发过程中,已经明确的业务(定义属性为final)去调用不明确的业务,设计模版时,要把不明确的业务设计成抽象方法,交给其子类去复写。

老毕举了个计算程序运行时间的例子,以下是代码:

abstract class TimeTemplate {

public final void getTime()//final防止子类复写

{

long start = System.currentTimeMillis();

code();

long end = System.currentTimeMillis();

System.out.println("毫秒:"+(end-start));

}

public abstract void code();//abstract提醒子类去复写

}

class TimeTemplateSon extends TimeTemplate{

public void code(){

for(int i = 0;i<10000;i++){

System.out.println("i="+i);

}

}

}

public class RunClass{

public static void main(String[] args) {

TimeTemplateSon t = new TimeTemplateSon();

t.getTime();

}

}

运行结果:

i=1

...

...

i=9999

毫秒:515

个人总结:

1,abtract关键子是为了让子类去复写父类方法,用于不明确的业务;

final关键字是为了防止子类复写,用于明确的业务。明确的业务去调用不明确的业务。

2,模版方法是一种思想,不能固化在代码上;

模版方法不一定都要抽象,因为有时需要为该类提供一种默认实现方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: