使用接口的模板模式

//银行业务模板
public class BankBusinessTemplate {// 公开类
	// 取号
	protected long takeNumber() {// 方法
		// 1000以内的随机数
		int r = (int) (Math.random() * 1000);
		return r;
	}

	// 保存客户反馈
	protected void saveEvaluation(long number, String evaluation) {// 有参方法
		System.out.println("号码:" + number + "的评价:" + evaluation);
	}

	// 业务流程
	//使用接口类型的参数,可以使这个方法更加通用
	public void business(BankAction action) {// 有参方法
		// 1
		long number = takeNumber();
		// 2
		String evaluation = action.doAction(number);
		// 3
		saveEvaluation(number, evaluation);
	}
	
}


//银行具体业务接口
//接口BankAction定义了一个具体业务都需要实现的接口
public interface BankAction {//接口
	//办理具体的业务
	String doAction(long number);
}
//开卡业务
public class NewCard implements BankAction{//实现的类
	//办理具体的业务
	public String doAction(long number){//有参有返回方法
		System.out.println("办理开卡业务");
		return "五星好评";
	}
}
//挂失业务
public class LossCard implements BankAction{//实现的类
	//办理具体的业务
	public String doAction(long number){//有参有返回方法
		System.out.println("办理挂失业务");
		return "五星好评";
	}
}
public class BankRun {
	public static void main(String[] args) {
		BankBusinessTemplate template = new BankBusinessTemplate();
		NewCard newCard = new NewCard();
		LossCard lossCard=new LossCard();

		// 模板执行开卡业务
		template.business(newCard);
		// 模板执行挂失业务
		template.business(lossCard);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值