package com.life.design.template;
public abstract class Cooking {
public final void cookProcess() {
pourOil();
heatOil();
pourVegetable();
pourSauce();
fry();
}
public void pourOil() {
System.out.println("倒油");
}
public void heatOil() {
System.out.println("热油");
}
public abstract void pourVegetable();
public abstract void pourSauce();
public void fry() {
System.out.println("翻炒");
}
}
package com.life.design.template;
public class CookCabbage extends Cooking {
@Override
public void pourVegetable() {
System.out.println("包菜下锅");
}
@Override
public void pourSauce() {
System.out.println("辣椒下锅");
}
}
package com.life.design.template;
public class Client {
public static void main(String[] args) {
Cooking cookCabbage = new CookCabbage();
cookCabbage.cookProcess();
}
}