博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
23模式之: 模板方法模式demo
阅读量:6944 次
发布时间:2019-06-27

本文共 1588 字,大约阅读时间需要 5 分钟。

银行业务步骤类:

package template_method_mode;/** * 银行业务(算法)步骤类 */public abstract class BankTemplateMethod {            /**     * 1.取号     */    public void takeNumber(){        System.out.println("某某进行取号!");    }            /**     * 2.办理具体的业务     * 也叫: 钩子方法, 回调方法     */    public abstract void transact();        /**     * 3.评价     */    public void evaluate(){        System.out.println("某某进行评价!" + "\r\n");    }            /**     * 模板方法     * 好莱坞原则,父类调用(呼叫)子类     */    public final void process(){        this.takeNumber();        this.transact();        this.evaluate();    }    }

 

测试类:

package template_method_mode;public class Client {        public static void main(String[] args) {        //取款子类,开始业务        BankTemplateMethod btm = new DrawMoney();        btm.process();                //采用匿名内部类                //实现具体的业务: 存钱        BankTemplateMethod btm2 = new BankTemplateMethod() {            @Override            public void transact() {                System.out.println("我要存钱!");            }        };        btm2.process();                //实现具体的业务: 理财        BankTemplateMethod btm3 = new BankTemplateMethod() {            @Override            public void transact() {                System.out.println("我要理财!我这里有2000万韩币");            }        };        btm3.process();    }    }/** * 取款子类 */class DrawMoney extends BankTemplateMethod {    @Override    public void transact() {        System.out.println("我要取款!!!");    }    }

 

打印结果:

某某进行取号!我要取款!!!某某进行评价!某某进行取号!我要存钱!某某进行评价!某某进行取号!我要理财!我这里有2000万韩币某某进行评价!

 

 

谢谢声明出处!

转自: 

 

转载于:https://www.cnblogs.com/gscq073240/articles/7103077.html

你可能感兴趣的文章
Solr拼写检查(spellCheck)配置和使用
查看>>
javascript 中cookie的存储,获取cookie,删除cookie的方法
查看>>
jquery中的scrollTop()和scrollLeft()应该怎么用?【转】
查看>>
flag标志寄存器
查看>>
Android Notification与Toast(一)
查看>>
搜索引擎lucene
查看>>
UVA11991
查看>>
linux:php配置文件php.ini详解
查看>>
有用和有趣的产品秤砣
查看>>
PhotoShopCS5
查看>>
EVENT 10051:"trace OPI calls"
查看>>
利用Oracle在线重定义Online Redefinition清理历史数据
查看>>
A.3-C# 面向对象编程
查看>>
Linux下高性能网络编程中的几个TCP/IP选项
查看>>
HDU2049:不容易系列之(4)——考新郎
查看>>
mySQL优化, my.ini 配置说明
查看>>
函数、返回-Sql Server常用函数之统计、算数、字符串函数-by小雨
查看>>
windows调试器之Visual C++
查看>>
如何删除存在多个重复记录中的一个
查看>>
Android开发之旅:环境搭建及HelloWorld
查看>>