模板模式入门
模板模式的定义
模板模式其实意思就是 一个抽象类 他其中有几个抽象方法 ,但是有一个模板方法不是抽象的,并且里面调用了自己的抽象方法,规定了他们的执行顺序。 这种类型的设计模式属于行为型模式。
下面我们直接上代码
- 首先我们定义一个抽象类 Behavior.java
public abstract class Behavior {
abstract void sleep();
abstract void eat();
abstract void play();
//定义模板方法
public final void behavior(){
eat();
play();
sleep();
}
}
2.我们创建继承抽象类的子类
Dog.java
public class Dog extends Behavior{
@Override
void sleep() {
System.out.println("狗狗坐着睡");
}
@Override
void eat() {
System.out.println("吃狗粮");
}
@Override
void play() {
System.out.println("玩儿飞盘");
}
}
Cat.java
public class Cat extends Behavior{
@Override
void sleep() {
System.out.println("猫猫 躺着睡");
}
@Override
void eat() {
System.out.println("吃猫粮");
}
@Override
void play() {
System.out.println("玩儿猫砂");
}
}
3.调用Behavior的模板方法behavior来演示动物们的行为
public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
Cat cat = new Cat();
dog.behavior();
System.out.println();
cat.behavior();
}
}
吃狗粮
玩儿飞盘
狗狗坐着睡
吃猫粮
玩儿猫砂
猫猫 躺着睡
Process finished with exit code 0