java设计模式之策略模式
2016-11-23 14:42
483 查看
策略设计模式设计思路:
第一步:定义接口Calculator,提供方法calculate,返回值类型为long
第二步:定义类Plus,实现Calculator接口
第三步:定义类Minus,实现Calculator接口
第四步:定义类Multiply,实现Calculator接口
第五步:定义类Division,实现Calculator接口
具体编码实现:
第一步:定义接口Calculator,提供方法calculate,返回值类型为long
/**
* 定义运算接口Calculator,提供计算方法calculate,返回值类型为long
*
* @author zdliu
*
*/
public interface Calculator {
public long calculate();
}
第二步:定义类Plus,实现Calculator接口
第三步:定义类Minus,实现Calculator接口
第四步:定义类Multiply,实现Calculator接口
第五步:定义类Division,实现Calculator接口
public class Test {
public static void main(String[] args) {
System.out.println(new Plus(12, 15).calculate());
System.out.println(new Minus(12, 15).calculate());
System.out.println(new Multiply(12, 15).calculate());
System.out.println(new Division(12, 3).calculate());
}
}控制台输出信息:
27
-3
180
4
第一步:定义接口Calculator,提供方法calculate,返回值类型为long
第二步:定义类Plus,实现Calculator接口
第三步:定义类Minus,实现Calculator接口
第四步:定义类Multiply,实现Calculator接口
第五步:定义类Division,实现Calculator接口
具体编码实现:
第一步:定义接口Calculator,提供方法calculate,返回值类型为long
/**
* 定义运算接口Calculator,提供计算方法calculate,返回值类型为long
*
* @author zdliu
*
*/
public interface Calculator {
public long calculate();
}
第二步:定义类Plus,实现Calculator接口
/** * 定义类Plus,实现Calculator接口 * * @author zdliu * */ public class Plus implements Calculator { /** * 加法的第一个参数 */ private long number1; /** * 加法的第二个参数 */ private long number2; public Plus(long number1, long number2) { this.number1 = number1; this.number2 = number2; } @Override public long calculate() { return number1 + number2; } }
第三步:定义类Minus,实现Calculator接口
/** * 定义类Minus,实现Calculator接口 * * @author zdliu * */ public class Minus implements Calculator { /** * 减法的第一个参数 */ private long number1; /** * 减法的第二个参数 */ private long number2; public Minus(long number1, long number2) { this.number1 = number1; this.number2 = number2; } @Override public long calculate() { return number1 - number2; } }
第四步:定义类Multiply,实现Calculator接口
/** * 定义类Multiply,实现Calculator接口 * * @author zdliu * */ public class Multiply implements Calculator { /** * 乘法的第一个参数 */ private long number1; /** * 乘法的第二个参数 */ private long number2; public Multiply(long number1, long number2) { this.number1 = number1; this.number2 = number2; } @Override public long calculate() { return number1 * number2; } }
第五步:定义类Division,实现Calculator接口
/** * 第五步:定义类Division,实现Calculator接口 * * @author zdliu * */ public class Division implements Calculator { /** * 除法的第一个参数 */ private long number1; /** * 除法的第二个参数 */ private long number2; /** * 计算结果 */ private long result = 0; public Division(long number1, long number2) { this.number1 = number1; this.number2 = number2; } @Override public long calculate() { try { if (number2 == 0) { result = -1; } result = number1 / number2; } catch (Exception e) { } return result; } }测试类:
public class Test {
public static void main(String[] args) {
System.out.println(new Plus(12, 15).calculate());
System.out.println(new Minus(12, 15).calculate());
System.out.println(new Multiply(12, 15).calculate());
System.out.println(new Division(12, 3).calculate());
}
}控制台输出信息:
27
-3
180
4
获取更多精彩内容请添加微信公众号 java刘振东
相关文章推荐
- Java设计模式 -- 策略模式
- [设计模式] - 策略模式(Java篇)
- Java设计模式-----Strategy策略模式
- 设计模式之三 --- 策略模式(Strategy Pattern) (java)
- java设计模式-策略模式
- java设计模式之 策略模式
- Java设计模式之策略模式
- 设计模式一:java设计模式之策略模式(一)
- java设计模式---Strategy Pattern---策略模式
- JAVA 设计模式之 策略模式
- java设计模式之strategy(策略模式)和policy模式(泛化的strategy模式)
- java 设计模式-策略模式
- Java设计模式 Design Pattern:策略模式 Strategy Pattern
- java设计模式--策略模式
- Java设计模式-----Strategy策略模式
- java设计模式-----策略模式
- All About JAVA 关于设计模式中的“策略模式”
- 设计模式:策略模式的实现 c++ 与 java
- java 设计模式--策略模式(strategy)
- java设计模式:策略模式(Strategy)