W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在策略模式中,可以在運行時更改算法。
策略模式是一種行為模式。
在策略模式中,我們創(chuàng)建表示各種算法的對象和運行算法的上下文對象。
策略對象更改上下文對象上的算法。
interface MathAlgorithm { public int calculate(int num1, int num2); } class MathAdd implements MathAlgorithm{ @Override public int calculate(int num1, int num2) { return num1 + num2; } } class MathSubstract implements MathAlgorithm{ @Override public int calculate(int num1, int num2) { return num1 - num2; } } class MathMultiply implements MathAlgorithm{ @Override public int calculate(int num1, int num2) { return num1 * num2; } } class MathContext { private MathAlgorithm algorithm; public MathContext(MathAlgorithm strategy){ this.algorithm = strategy; } public int execute(int num1, int num2){ return algorithm.calculate(num1, num2); } } public class Main { public static void main(String[] args) { MathContext context = new MathContext(new MathAdd()); System.out.println("10 + 5 = " + context.execute(10, 5)); context = new MathContext(new MathSubstract()); System.out.println("10 - 5 = " + context.execute(10, 5)); context = new MathContext(new MathMultiply()); System.out.println("10 * 5 = " + context.execute(10, 5)); } }
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: