目标:使用抽象类设计一个模板模式
设计模式:
是前人(技术大牛,或者一些技术协会,或者一些大型知名的IT公司)已经研发好或者设计好的优秀软件设计思想,后来者可以直接使用就能够得到很好的软件模式。
模板模式是一种设计模式思想:
模板模式的作用:部分实现,部分抽象,可以极大的简化功能代码,提高开发效率
写一个模板模式的案例:作文模板。
作文模板:
标题和第一段 以及最后一段是固定的,
正文部分交给使用模板的人自己来实现。
小节:
模板模式是部分实现,部分抽象,确定的部分模板直接实现,不确定的部分
定义成抽象方法交给使用模板的人实现。
public class ExtendsDemo {
public static void main(String[] args) {
Student lty = new Student();
lty.write();
Teacher boZai = new Teacher();
boZai.write();
}
}
class Teacher extends Template{
@Override
public String writeMain() {
// 4
return "\t\t我爸也挺好的。";
}
}
class Student extends Template{
@Override
public String writeMain() {
// 4
return "\t\t我爸爸是区长,所以我开车贼溜,想怼谁就怼谁,你敢叼我吗?";
}
}
abstract class Template{
// 1.标题是固定的,实现的
private String title = "\t\t\t\t\t\t《我的爸爸》";
private String one = "\t\t我的爸爸很牛逼,有多牛逼呢,来介绍一下。";
private String last = "\t\t下辈子还要做他儿子,太爽了。";
// 2.写一个写作文的方法
public void write(){
System.out.println(title); // 1
System.out.println(one); // 2
// 写正文部分:模板本身不知道怎么做,必须交给使用模板的人来实现。
// 把正文部分定义成一个抽象方法,交给子类重写实现。
System.out.println(writeMain()); //3
System.out.println(last); // 5
}
// 3.正文部分的抽象方法
public abstract String writeMain();
}