一、所用到的类
一个抽象类:里面都是固定的方法,然后外加一个调用这些固定流程方法的方法
N个实现类:这些实现类去实现固定的那些方法
二、代码实现
抽象类
java
public abstract class OneDay {
abstract void getup ();
abstract void eat ();
abstract void sleep ();
public void start () {
getup();
eat();
sleep();
}
}
实现类1
java
public class JayOneDay extends OneDay{
@Override
void getup() {
System.out.println("Jay get up");
}
@Override
void eat() {
System.out.println("Jay eat");
}
@Override
void sleep() {
System.out.println("Jay sleep");
}
}
实现类2
java
public class TimOneDay extends OneDay{
@Override
void getup() {
System.out.println("Tim OneDay getup");
}
@Override
void eat() {
System.out.println("Tim OneDay eat");
}
@Override
void sleep() {
System.out.println("Tim OneDay sleep");
}
}
调用类
java
@SpringBootApplication
public class TemplateApplication {
public static void main(String[] args) {
OneDay oneDay = new JayOneDay();
oneDay.start();
oneDay = new TimOneDay();
oneDay.start();
}
}
三、总结
模板模式适用于对一个流程进行封装,这个流程中可能会有多种行为。