java第7集 模板模式(二)

接着java第7集 模板模式(一)
①首先设置好接口

package k1;
//银行具体业务接口
//接口BankAction定义了一个具体业务都需要实现的接口
public interface bankAction {
	//办理具体的业务
	 String doAction(long number); 
}

②业务模板

//银行业务模板
package k1;
//public abstract class BankBueeinessTempelate {
public class BankBussinessTempelate {
	//取号
	protected long takeNumber() {
		int r=(int)(Math.random()*1000);//Math.random(),0—1之间的随机数
		return r;
	}
	//protected abstract String doAction(long number);	
	//保存客户反馈
	protected void saveEvaluation(long number,String evaluation) {
		System.out.println("号码"+number+"的评价是"+evaluation);		
	}
	//总业务
	//public void bussiness() {
	public void bussiness(bankAction action) {//BankAction action为传进来的具体业务的对象
		//public void bussiness(lossCard action),则单纯只能办理开卡业务,而使用接口类型的参数,可以使这个方法更加通用
		//取号
		 long number =takeNumber();
		 //保存客户反馈
		 String evaluation =action.doAction(number);//多态的体现,调用实际引用对象的doAction方法
		 //业务流程
		 saveEvaluation(number,evaluation);
	}
}

③办卡业务

package k1;

public class newCard implements bankAction{
	//办理具体的业务
	public String doAction(long number) {
		System.out.println("办理开卡业务");
		return "五星好评";
	}
} 

④挂失业务

package k1;
//挂失业务 
public class lossCard implements bankAction{
	//办理挂失的业务
		public String doAction(long number) {
			System.out.println("办理挂失业务");
			return "五星好评";
		}

}

⑤开始测试代码

package k1;

public class day1406 {
	public static void main(String[] args) {
		BankBussinessTempelate template =new  BankBussinessTempelate();
		newCard newcard =new newCard();
		lossCard losscard=new lossCard();
		
		//模板执行开卡业务
		template.bussiness(newcard);
		//模板执行挂失业务
		template.bussiness(losscard);
		
		
	}

} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值