概念
将一系列操作步骤定义在抽象中形成算法框架,而将一些步骤延迟到子类中去实现。一般是将相同代码抽取到父类,然后通过钩子函数约束其行为。优点是提取公共代码,便于维护,缺点是可读性降低。
实现方式
public abstract class Template {
protected void powerOn(){
System.out.println("开启"):
}
protected void load(){
System.out.println("loading"):
}
protected void login(){
System.out.println("登录"):
}
public final void startUp(){
powerOn();
load();
login();
}
}
public class Computer1 extends Template {
@Overrude
public void login(){
System.out.println("免密登录");
}
}
public class Computer2 extends Templete {
@Override
public void login(){
super();
System.out.println("再来一次指纹识别");
}
}