以一个冲咖啡和冲茶为例子,都需要的是一系列步骤,比如烧开水,准备杯子,添加辅助料等。
基类:
public abstract class Bevegrage {
//不能被重写
public final void create(){
//1、把水烧开
boilWater();
//2、把杯子准备好、原材料放到杯中
pourInCup();
//3、用水冲泡
brew();
//4、添加辅料
addCoundiments();
}
public abstract void pourInCup();
public abstract void addCoundiments();
public void brew(){
System.out.println("将开水放入杯中进行冲泡");
};
public void boilWater(){
System.out.println("烧开水,烧到100度可以起锅了");
}
}
冲咖啡的类:
public class Coffee extends Bevegrage{
//原材料放到杯中
public void pourInCup() {
System.out.println("将咖啡倒入杯中");
}
//房辅料
public void addCoundiments() {
System.out.println("添加牛奶和糖");
}
}
冲茶的类:
public class Tea extends Bevegrage{
//原材料放到杯中
public void pourInCup() {
System.out.println("将茶叶放入杯中");
}
//房辅料
public void addCoundiments() {
System.out.println("添加蜂蜜");
}
}
测试类:
Tea tea = new Tea();
tea.create();
Coffee coffee = new Coffee();
coffee.create();