当我们要完成在某一细节层次一致的一个过程或一系列步骤,但某个别步骤在详细的层次上实现不同时,我们通常考虑用模板方法模式来处理。
模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
模板方法模式是通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。
package templateMethod; public abstract class Template { public abstract void operation1(); public abstract void operation2(); public void templateMethod() { operation1(); operation2(); } }
package templateMethod; public class ConcreateClassA extends Template { @Override public void operation1() { System.out.println(this+" opertion1"); } @Override public void operation2() { System.out.println(this+" opertion2"); } public static void main(String[] args) { Template template; template=new ConcreateClassA(); template.templateMethod(); } }
时间: 2024-11-10 12:43:12