怎么Java项目中使用模板方法模式

  介绍

本篇文章为大家展示了怎么Java项目中使用模板方法模式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

模拟抽象类:

/* *   *,模板方法模式的模板框架(以去银行办理业务为例)   *,@description:   */public  abstract  class  TempletBankFrame  {/*,比如:去柜台办理银行卡业务*,*/public  final  void  handleBankCard (), {/*,第一步:进入银行大厅取号*,*/takeNumber ();/*,第二步:填写办理业务的相关单据*,*/如果(! isNeedThisMethod()){//特殊情况可以添加判断,如我之前有填写好单子,那今天就不必再填写了   writeBill ();   }/*,第三步:等待工作人员叫号*,*/waitCall ();/*,第四步:办理业务*,*/handleCard ();   }/*,取号步骤是不需要更改的,所以我们用私人修饰*,*/private  void  takeNumber (), {   System.out.println才能(“办理银行业务请取号!“);   }/*,办理的业务不同,填写的内容不同,所以我们用保护修饰,让子类去处理具体业务*,*/protected  abstract  void  writeBill ();/*,等待叫号步骤也是不需要更改的,所以我们用私人修饰*,*/private  void  waitCall (), {   System.out.println才能(“办理银行业务请取号!“);   }/*,办理的业务不同,用保护修饰,让子类去处理具体业务*,*/protected  abstract  void  handleCard ();/*定义一个钩子方法:由抽象类声明并实现,而子类会加以扩展。通常抽象类给出的实现是一个空实现,作为方法的默认实现,* */protected  abstract  boolean  isNeedThisMethod ();   }

具体实现类:如办理取钱

/* *   *,办理取钱业务   *,@description:   */public  class  GetMoney  extends  TempletBankFrame  {   @Override   protected  void  writeBill (), {   System.out.println才能(“我在填写取钱的单据!“);   }   @Override   protected  void  handleCard (), {   System.out.println才能(“我要取500年万大洋“);   }   @Override   protected  boolean  isNeedThisMethod (), {   System.out.println才能(“我已经填写过单子,今天就直接等待叫号了吧!“);   return 才能;真实;   }   }

具体实现类:如我是去办银行卡

/* *   *,办理银行卡   *,@description:   */public  class  TackCard  extends  TempletBankFrame  {   @Override   protected  void  writeBill (), {   System.out.println才能(“我填写的是办理银行卡单据“);   }   @Override   protected  void  handleCard (), {   System.out.println才能(“我在办卡,即将完成!“);   }   @Override   protected  boolean  isNeedThisMethod (), {   return 才能;假;   }   }

测试类

/* *   *,模板方法模式测试类   *,@description:   */public  class  Test  {   public  static  void  main (String [], args), {   GetMoney 钱=new  GetMoney ();   money.handleBankCard();//调用模板中的办理业务方法   System.out.println(“- - - - -分隔线- - - - - -“);   TackCard 卡=new  TackCard ();   card.handleBankCard ();   }   }

最后的输出结果:

办理银行业务请取号!   我已经填写过单子,今天就直接等待叫号了吧!   办理银行业务请取号!   我要取500年万大洋   - - - - -分隔线- - - - - -   办理银行业务请取号!   我填写的是办理银行卡单据   办理银行业务请取号!   我在办卡,即将完成!

上述内容就是怎么Java项目中使用模板方法模式,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

怎么Java项目中使用模板方法模式