流程相同,执行过程中有差别
可用于定义算法骨架,将一些实现放到子类中实现,达到不用改变算法结构,重新实现算法的目的
代码实现
package template;
public abstract class Model {
/**
* 类似的行为、逻辑
*/
protected abstract void start();
protected abstract void stop();
/**
* 固定的流程 模板化
*/
final public void excet(){
this.start();
this.stop();
}
}
package template;
public class Ocar extends Model {
@Override
protected void start() {
}
@Override
protected void stop() {
}
}
package template;
public class Wcar extends Model {
@Override
protected void start() {
}
@Override
protected void stop() {
}
}
package template;
public class Client {
public static void main(String[] args) {
Model wcar=new Wcar();
wcar.excet();
Model ocar=new Ocar();
ocar.excet();
}
}