Java学习笔记-模板方法模式

  • Post author:
  • Post category:java


定义:模板方法模式(Template method(类行为型)):在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。


模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。

抽象类来实现

在抽象类中定义final 的方法,规定步骤,

然后定义各个子方法合成了整个步骤,但是各个子类可以有自己的实现。

模板方法

一个模板方法是定义在抽象类中的,把基本操作方法组合在一起形成一个总算法或一个总行为的方法。

一个抽象类可以有任意多个模板方法,而不限于一个。每一个模板方法都可以调用任意多个具体方法。

基本方法

基本方法又可以分为三种:抽象方法(Abstract Method)、具体方法(Concrete Method)和钩子方法(Hook Method)。



抽象方法:

一个抽象方法由抽象类声明,由具体子类实现。在Java语言里抽象方法以abstract关键字标示。



具体方法:

一个具体方法由抽象类声明并实现,而子类并不实现或置换。



钩子方法:

一个钩子方法由抽象类声明并实现,而子类会加以扩展。通常抽象类给出的实现是一个空实现,作为方法的默认实现。

参考:http://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html

转载于:https://www.cnblogs.com/lance-/p/3641540.html