十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

设计模式:策略模式(Strategy Pattern)

设计模式:策略模式(Strategy Pattern) /** * 策略模式。 * author Bright Lee */ public class StrategyPattern { public static void main(String[] args) { int num1 1; int num2 2; int result 0; Algorithm algorithm null; // 传入加法策略算法变成了加法 algorithm new Algorithm(new AdditionStrategy()); result algorithm.calucate(num1, num2); System.out.println(result); // 传入减法策略算法变成了减法 algorithm new Algorithm(new SubtractionStrategy()); result algorithm.calucate(num1, num2); System.out.println(result); } } class Algorithm { private Strategy strategy; public Algorithm(Strategy strategy) { this.strategy strategy; } public int calucate(int num1, int num2) { return strategy.calucate(num1, num2); } } /** * 策略接口。 */ interface Strategy { int calucate(int num1, int num2); } /** * 加法策略。 */ class AdditionStrategy implements Strategy { public int calucate(int num1, int num2) { return num1 num2; } } /** * 减法策略。 */ class SubtractionStrategy implements Strategy { public int calucate(int num1, int num2) { return num1 - num2; } }运行结果3-1青蛙客服系统https://download.csdn.net/download/look4liming/93326820
返回列表