模板方法模式---豆浆机

现在我们很多家庭都有了豆浆机,豆浆的营养价值不用我多说了。制作豆浆的程序简单点来说就是选材—>添加配料—>浸泡—>放到豆浆机打碎,通过添加不同的配料,可以制作出不同口味的豆浆,但是选材有的人懒得做这一步、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的。

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();
	}
}

运行截图:

加配料:

不加配料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值