
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
昆明IT培训的小编知道,模板方法模式由两个角色组成:父类角色,子类角色。
父类角色:提供模板。
子类角色:为父类模板提供实现。
JAVA代码:
AbstractClass.java
package com.templatemethod;
public abstract class AbstractClass
{
/**
*定义了算法的骨架,即步骤
*/
public void template()
{
this.method1();
this.method2();
this.method3();
}
/**
*子类可以重写这些方法
*/
public abstract void method1();
public abstract void method2();
public abstract void method3();
}
ConcreteClass.java
package com.templatemethod;
public class ConcreteClass extends AbstractClass
{
@Override
public void method1()
{
System.out.println("Step 1");
}
@Override
public void method2()
{
System.out.println("Step 2");
}
@Override
public void method3()
{
System.out.println("Step 3");
}
}
Test.java
package com.templatemethod;
public class Test
{
public static void main(String[] args)
{
AbstractClass ac = new ConcreteClass();
ac.template();
}
}
总结:模板方法模式,定义一个操作中的算法骨架,而将一些步骤延迟到子类中去实现,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而每个步骤的实现可以在子类中完成。