创建抽象类,将模板中不同的方法抽象出来,在不得子类中实现.
abstract class Template {
public void takeNumber() {
System.out.println("排队取号");
}
public abstract void transact();
public void evaluate() {
System.out.println("反馈评分");
}
public void process() {
takeNumber();
transact();
evaluate();
}
}
class BankTemplateMethod extends Template {
@Override
public void transact() {
System.out.println("取钱 ");
}
}
class BankTemplateMethod1 extends Template {
@Override
public void transact() {
System.out.println("存钱 ");
}
}
/**
* 模板方法模式--抽象类为模板,实现类为具体的流程
*/
public class TemplateMethod {
public static void main(String[] args) {
Template template = new BankTemplateMethod();
template.process();
System.out.println("---------------");
BankTemplateMethod1 bankTemplateMethod1 = new BankTemplateMethod1();
bankTemplateMethod1.process();
}
}