使用Template(模板)模式封装改变

这个模式超级简单,不过怀疑在不带接口特性的语言中使用广泛,其实目的就是封装改变,怀疑在JAVA中那些对抽象类一直比较怀念的人会使用,而我一般则会比较多的使用接口,不过Template对于策略模式有所不同的就是,它在实现上更简单,不需要拖泥带水,原因是在抽象类中可以写实现方法,而接口中则不可以,比如把实现延迟到继承类中。

public abstract class Say
{
  /**
  * 下面操作是我们希望在子类中完成
  */
  public abstract void sayHello();

/**
*抽象类的好处就是可以在抽象类里实现方法,哈哈。
*/
  public final void sayGood() {
   System.out.println("I said Good!");
sayHello();
  }
}
}


public class SayHello extends Say
{
  /**
  * 真正定义sayHello内容
  */
  public void sayHello() {

    System.out.printtln("I said Hello");    
  }
}


哈哈,还有个比较爽,就是可以使用多态性。
Say operation = new SayHello();
operation.sayGood();


OK,现在不管sayHello方法怎么变,对别的类都没影响,哈哈。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值