标签:策略模式 string exe bsp 第一个 imp err pre nts
首先看代码,了解实现思路
一、接口、实现类(一组公共的行为)
1、接口
定义一个方法,在实现类中实现它,用于执行“加、减”操作
/*
* 策略接口
*/
public interface Strategy {
public int doOperation(int num1 , int num2);
}
2、第一个实现类:执行“加”操作
/*
* 策略接口实现类:加
*/
public class OperationAdd implements Strategy {
@Override
public int doOperation(int num1, int num2) {
return num1 + num2;
}
}
3、第二个实现类:执行“减”操作
/*
* 策略接口实现类:减
*/
public class OperationSubstract implements Strategy{
@Override
public int doOperation(int num1, int num2) {
return num1 - num2;
}
}
二、Context类 ,定义 当它改变策略 Strategy 时的行为变化。
public class Context {
private Strategy strategy ;
//new "加"对象,Strategy为"加"实现类; new "减"对象,Strategy为"减"实现类;
public Context(Strategy strategy){
this.strategy = strategy;
}
public int executeStrategy(int num1, int num2){
return strategy.doOperation(num1, num2);
}
}
三、Main类
public class StrategyPatternDemo {
public static void main(String[] args) {
//new "加"对象
Context context = new Context(new OperationAdd());
System.out.println("10 + 5 = " + context.executeStrategy(10, 5));
//new "减"对象
context = new Context(new OperationSubstract());
System.out.println("10 - 5 = " + context.executeStrategy(10, 5));
}
}
标签:策略模式 string exe bsp 第一个 imp err pre nts
原文地址:http://www.cnblogs.com/Donnnnnn/p/7552720.html