现在我们很多家庭都有了豆浆机,豆浆的营养价值不用我多说了。制作豆浆的程序简单点来说就是选材—>添加配料—>浸泡—>放到豆浆机打碎,通过添加不同的配料,可以制作出不同口味的豆浆,但是选材(有的人懒得做这一步)、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的。
SoyaMilk.java
package Soya;
public abstract class SoyaMilk {
//这是模板方法,用final修饰,不允许子类覆盖。模板方法定义了制作豆浆的程序
public final void prepareRecipe(){
selectMaterial();
if(selectornot())
addCondiments();
soak();
beat();
}
//选材
public void selectMaterial(){
System.out.println("第一步、选择好了新鲜黄豆");
}
//添加配料方法
public abstract void addCondiments();
//浸泡
public void soak(){
System.out.println("第三步、黄豆和配料开始浸泡,大概需要5个小时");
}
//打碎
public void beat(){
System.out.println("第四步、黄豆的配料放到豆浆机打碎");
}
boolean selectornot()
{
return true;
}
}
ReddatesSoyaMilk.java
package Soya;
public class ReddatesSoyaMilk extends SoyaMilk {
@Override
public void addCondiments() {
// TODO Auto-generated method stub
System.out.println("第二步、添加红枣配料");
}
@Override
public boolean selectornot()
{
return true; //加配料
//return false; //不加配料
}
}
Client.java
package Soya;
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
SoyaMilk s1=new ReddatesSoyaMilk();
s1.prepareRecipe();
}
}
运行截图:
加配料:
不加配料: