public class StrategyClient { public static void main(String[] args) { PayAmountContext payAmountContext = new PayAmountContext(); // 使用直减策略 payAmountContext.setPayAmount(new DecreasePayAmountStrategy()); payAmountContext.payAmount(null); // 使用N元购策略 payAmountContext.setPayAmount(new NYuanPayAmountStrategy()); payAmountContext.payAmount(null); // 使用满减策略 payAmountContext.setPayAmount(new CouponPayAmountStrategy()); payAmountContext.payAmount(null); // 使用折扣策略 payAmountContext.setPayAmount(new DiscountPayAmountStrategy()); payAmountContext.payAmount(null); } }
时间: 2023-07-16 21:11:52 浏览: 63
java中public class与class区别
5星 · 资源好评率100%
这是一个策略模式的示例代码,用于演示如何使用不同的策略实现不同的行为。具体来说,该代码定义了一个支付金额的上下文类 PayAmountContext,它可以根据不同的策略实现不同的支付金额计算方式。在主函数中,我们可以看到使用了四种不同的策略:直减策略、N元购策略、满减策略和折扣策略,并且每种策略都被传递到 PayAmountContext 中进行计算。
阅读全文