最精简:设计模式之模板方法模式

public abstract class BankTest {
    public static void main(String[] args) {
        DrawMoney drawMoney = new DrawMoney();
        drawMoney.dothing();
        ManagerMoney managerMoney = new ManagerMoney();
        managerMoney.dothing();


    }

    public void havaNumber(){
        System.out.println("取号办理业务");
    }

    /**
     * 钩子方法,具体实施业务操作
     */
    public abstract void transact();
    public void talk(){
        System.out.println("给刚才的服务打个分\n");
    }

    /**
     * final限制不可更改执行顺序
     */
    public final void dothing(){
        havaNumber();
        transact();
        talk();
    }
}
class DrawMoney extends BankTest{
    @Override
    public void transact() {
        System.out.println("我要存款");
    }
}
class ManagerMoney extends BankTest{

    @Override
    public void transact() {
        System.out.println("我要理财");
    }
}

posted @ 2020-10-24 16:32  MrFugui  阅读(3)  评论(0编辑  收藏  举报