模板设计模式

来源:互联网 发布:unity3d项目实战教程 编辑:程序博客网 时间:2024/06/07 16:11

定义一个模板,其中有确定的方法和不确定的方法,将不确定的方法延伸到子类中去实现。

//定义一个喝饮料的模板,里面有喝饮料的每一步的方法。

abstract class DrinkTemple{
public void hotWater(){//(第一步)确定的方法
System.out.println("把水烧开");
}
abstract public void putFood();//(第二步)不确定的方法
public void putWater(){//(第三步)确定的方法
System.out.println("把水倒进杯子");
}
abstract public void elseFood();//(第四步)不确定的方法
public void buZhuou(){
hotWater();
putFood();
putWater();
elseFood();
}
}

//喝咖啡类

class DrinkCoffee extends DrinkTemple{
@Override
public void putFood() {
System.out.println("加入咖啡");
}
@Override
public void elseFood() {
System.out.println("加入糖");
}
}

//喝茶类

class DrinkTea extends DrinkTemple{
@Override
public void putFood() {
System.out.println("放入茶叶");
}
@Override
public void elseFood() {
System.out.println("放入枸杞");
}
}

//测试类

public class MubanDemo {
public static void main(String[] args) {
DrinkCoffee df = new DrinkCoffee();
df.buZhuou();
}
}

0 0
原创粉丝点击