package designMode.celueMode;
abstract class PayStrategy {
abstract void algorithmInterface();
}
package designMode.celueMode;
public class PayStrategyA extends PayStrategy {
@Override
void algorithmInterface() {
System.out.println("微信支付");
}
}
package designMode.celueMode;
public class PayStrategyB extends PayStrategy {
@Override
void algorithmInterface() {
System.out.println("支付宝支付");
}
}
package designMode.celueMode;
class Context {
PayStrategy strategy;
public Context(PayStrategy strategy) {
this.strategy = strategy;
}
public void algorithmInterface() {
strategy.algorithmInterface();
}
}
package designMode.celueMode;
public class ClientTestStrategy {
public static void main(String[] args) {
Context context;
context = new Context(new PayStrategyA());
context.algorithmInterface();
context = new Context(new PayStrategyB());
context.algorithmInterface();
}
}
微信支付
支付宝支付