场景引入
说到模板方法,最好理解的就是英语写作的模板了。在各种英文写作中,面对作文,我们都会选择去背模板。拿我们英语作文的模板来说,如果我们把每一句话都记下来的话,那么适用面肯定是很窄的。而有些人的模板就是这样:
- 第一段:
1 主语从句 - 第二段:
2.1 强调句总写引出事件的原因
2.2 使用Not only…but also句式阐述具体原因 - 第三段:
3 定义从句加插入语总结全文
就以上这样的一个模板,可以说,其适用面就很广。因为其比较抽象,而不是特别具体。这样每个人就能根据自己的情况和具体话题进行扩写。模板模式就是这样,用一个方法,把所有要做的是抽象出来,但是事情怎么做,靠子类自己去实现。
代码实现
EnglishWrite
public abstract class EnglishWrite {
//模板方法
public final void write(){
Paragraph_one();
Paragraph_two();
Paragraph_three();
}
public abstract void Paragraph_one();
public abstract void Paragraph_two();
public abstract void Paragraph_three();
}
Student_one
public class Student_one extends EnglishWrite{
@Override
public void Paragraph_one() {
System.out.println("With the development of society,college students who are the largest group of intellectuals" +
" in this society are facing more and more pressure");
}
@Override
public void Paragraph_two() {
System.out.println("展开第二段的书写,和Paragraph_one方法一样具体实现");
}
@Override
public void Paragraph_three() {
System.out.println("插入语进行最终的总结,主要是实现");
}
}
Test
public class Test {
public static void main(String[] args) {
System.out.println("就现在大学生的压力写一篇英语作文");
EnglishWrite stu1 = new Student_one();
stu1.write();
}
}