模班方法

2019-04-13 14:37发布

/**
 * @author handw
 * @version 创建时间:2009-8-11 上午11:51:30
 * 类说明 模版方法
 */
public abstract class CaffeineBeverageWithHook {
 /**
  * 模版
  * @author handw
  * @time 2009-8-11上午11:59:25
  */
 final void templateMethod()
 {
         primitiveOperation1();
         primitiveOperation2();
         if(concreteOpertion())
          primitiveOperation3();
 }
 /**
  * 子类有自己的实现
  * @author handw
  * @time 2009-8-11下午12:00:41
  */
 abstract void primitiveOperation1();
 /**
  * 子类要自己实现
  * @author handw
  * @time 2009-8-11下午12:01:04
  */
 abstract void primitiveOperation3();  final void primitiveOperation2() {
  //实现 子类无法改变,是公用的方法
 }
 /**
  * 钩子函数
  * @author handw
  * @time 2009-8-11下午12:00:02
  * @return
  */
 boolean concreteOpertion(){
  return true;
 }
  }