Java模板方法及使用的场景
前言
功能内部部分的是实现是确定的,一部分的实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。 换句话说就是软件开发过程中,整体的步骤是固定的通用的,这些步骤在父类中写好了。但对于这部分容易改变的部分抽象出来,供子类去实现。这就是模板模式提示:以下是本篇文章正文内容,下面案例可供参考
一、直接上个栗子
示例:
abstract class template{
public void spendTime()
{
long start=System.currentTimeMillis();
code();//不确定的部分,可以2形容为像钩子一样,具体执行时,挂哪个子类就执行哪个子类的方法
long end =System.currentTimeMillis();
System.out.println("花费了:"+(end-start));
}
public abstract void code();
}
class subtemplate extends template
{
public void code()
{
for (int i = 2; i <=1000; i++) {
boolean isChange=false;
for (int j = 2; j <Math.sqrt(i) ; j++) {
if(i%j==2)
{
isChange=true;
break;
}
}
if(isChange==true)
{
System.out.println(i);
}
}
}
}