模板方法模式git
public abstract class AbstractTemplate { abstract void print1(); abstract void print2(); public final void execute(){ this.print1(); this.print2(); } }
public class TemplateA extends AbstractTemplate { @Override void print1() { System.out.println("TemplateA print1 ..."); } @Override void print2() { System.out.println("TemplateA print2 ..."); } } public class TemplateB extends AbstractTemplate { @Override void print1() { System.out.println("TemplateB print1 ..."); } @Override void print2() { System.out.println("TemplateB print2 ..."); } }
public static void main(String[] args) { AbstractTemplate template = new TemplateA(); template.execute(); template = new TemplateB(); template.execute(); }
TemplateA print1 ... TemplateA print2 ... TemplateB print1 ... TemplateB print2 ...
https://github.com/Seasons20/DisignPattern.git
ENDgithub