1、模式理解:小明要干这些活,小红也要干这些活,于是我们先把这些活都抽象出来,然后用一个或者多个方法把这些活放到一个或者多个方法,到时候只要调用这个方法就可以实现这些活,而不需要一个一个的实现
2、运用场景:模板嘛,你所怎么用,PPT模板用过吧,不要我说了吧,反正要我说我也说不清,嘿嘿
3、代码示例:
//先抽象出一个模板
public abstract class Event {
abstract void open();
abstract void in();
abstract void close();
public final void all(String string){
if (string.equalsIgnoreCase("ElePhant")) {
System.out.println("把大象放入冰箱的步骤:");
}
if (string.equalsIgnoreCase("clothes")) {
System.out.println("把衣服放入柜子的步骤为:");
}
open();
in();
close();
}
}
//然后创建具体的事件,这是根据模板做的把衣服放入柜子事件
public class PutClothes extends Event{
@Override
void open() {
System.out.println("打开柜子");
}
@Override
void in() {
System.out.println("放入衣服");
}
@Override
void close() {
System.out.println("关上衣柜");
}
}
//这是根据模板做的把大象放入冰箱事件,
//这两个事件的实现的方法流程是一样的,所以可以抽象出一个模板
public class PutElephant extends Event{
@Override
void open() {
System.out.println("打开冰箱");
}
@Override
void in() {
System.out.println("放入大象");
}
@Override
void close() {
System.out.println("关上冰箱");
}
}
//最后写个测试类测试一下
public class Main {
public static void main(String[] args) {
Event putElephent=new PutElephant();
putElephent.all("elephant");
Event putClothes=new PutClothes();
putClothes.all("clothes");
}
}
输出结果为:
把大象放入冰箱的步骤:
打开冰箱
放入大象
关上冰箱
把衣服放入柜子的步骤为:
打开柜子
放入衣服
关上衣柜