标签:策略模式 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