想着学习学习java的模式了,看到不错得帖子
父类定义运行的顺序流程
子类实现,可变的方法
便可实现流程不变,方法内容可有子类实现变化
参考[url]https://my.oschina.net/solarxie/blog/510815[/url]
父类定义运行的顺序流程
public abstract class TemplatePattern {
//模板方法
public final void templateMethod(){
method1();
method2();
method3();
}
private void method1(){
System.out.println("父类实现业务逻辑");
}
public void method2(){
System.out.println("父类默认实现,子类可覆盖");
}
protected abstract void method3();//子类负责实现业务逻辑
}
子类实现,可变的方法
public class TemplatePatternImpl extends TemplatePattern {
@Override
protected void method3() {
System.out.println("method3()在子类TemplatePatternImpl中实现了!!");
}
}
便可实现流程不变,方法内容可有子类实现变化
TemplatePattern t1 = new TemplatePatternImpl();
t1.templateMethod();
参考[url]https://my.oschina.net/solarxie/blog/510815[/url]