本文共 3236 字,大约阅读时间需要 10 分钟。
public abstract class AbstractClass { protected void step1(){ System.out.println("AbstractClass:step1"); } protected void step2(){ System.out.println("AbstractClass:step2"); } protected void step3(){ System.out.println("AbstractClass:step3"); } public final void templateMethod(){ this.step1(); this.step2(); this.step3(); }}
public class ConcreteClassA extends AbstractClass{ @Override protected void step1() { System.out.println("ConcreteClassA:step1"); }}
public class ConcreteClassB extends AbstractClass{ @Override protected void step2() { System.out.println("ConcreteClassB:step2"); }}
public class Test { public static void main(String[] args) { AbstractClass abc = new ConcreteClassA(); abc.templateMethod(); abc = new ConcreteClassB(); abc.templateMethod(); }}
public abstract class AbstractCourse { public final void createCourse(){ //1.发布预习资料 postPreResource(); //2.制作课件 createPPT(); //3.在线直播 liveVideo(); //4.上传课后资料 postResource(); //5.布置作业 postHomeWork(); //6.是否检查作业 if(needCheckHomeWork()){ checkHomeWork(); } } protected boolean needCheckHomeWork(){ return false;}; protected abstract void checkHomeWork(); protected void postPreResource(){ System.out.println("发布预习资料"); }; protected void createPPT(){ System.out.println("制作课件"); }; protected void liveVideo(){ System.out.println("在线直播"); }; protected void postResource(){ System.out.println("上传课后资料"); }; protected void postHomeWork(){ System.out.println("布置作业"); };}
public class JavaCourse extends AbstractCourse{ private boolean needCheckHomeWork = false; public void setNeedCheckHomeWork(boolean needCheckHomeWork) { this.needCheckHomeWork = needCheckHomeWork; } @Override protected boolean needCheckHomeWork() { return this.needCheckHomeWork; } @Override protected void checkHomeWork() { System.out.println("检查java作业"); }}
public class PyCourse extends AbstractCourse{ @Override protected void checkHomeWork() { System.out.println("检查python作业"); }}
*/public class Test { public static void main(String[] args) { System.out.println("=========java=========="); JavaCourse javaCourse = new JavaCourse(); javaCourse.setNeedCheckHomeWork(true); javaCourse.createCourse(); System.out.println("=========python==========="); PyCourse pyCourse = new PyCourse(); pyCourse.createCourse(); }}
转载地址:http://xkjrn.baihongyu.com/