假设学生和老师共同撰写一篇作文,作文开头和结尾有固定的格式(已给出),正文部分中学生和老师撰写的内容不同。
1、抽象类。
package AbstractDemo3;
public abstract class TemplateMethodPattern {
public void startAndend(){
System.out.println("======以下是作文开头======");
System.out.println(middle());
System.out.println("======以下是作文结尾======");
}
public abstract String middle();
}
2、教师类(重写正文方法middile())
package AbstractDemo3;
public class Teacher extends TemplateMethodPattern{
@Override
public String middle() {
return "======老师撰写的正文部分======";
}
}
3、学生类(重写正文方法middle())
package AbstractDemo3;
public class Student extends TemplateMethodPattern{
@Override
public String middle() {
return "======学生撰写的正文部分======";
}
}
4、测试类
package AbstractDemo3;
public class Test {
public static void main(String[] args) {
TemplateMethodPattern t1 = new Teacher();
t1.startAndend();
System.out.println("======分割线======");
TemplateMethodPattern t2 = new Student();
t2.startAndend();
}
}