结构图

Srategy
abstract class Strategy {
public abstract void AlgorithmInterface();
}
ConcreteStrategyA
public class ConcreteStrategyA extends Strategy{
@Override
public void AlgorithmInterface() {
System.out.println("算法A实现");
}
}
ConcreteStrategyB
public class ConcreteStrategyB extends Strategy {
@Override
public void AlgorithmInterface() {
System.out.println("算法B实现");
}
}
ConcreteStrategyC
public class ConcreteStrategyC extends Strategy {
@Override
public void AlgorithmInterface() {
System.out.println("算法C实现");
}
}
Context
public class Context {
Strategy strategy = null;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public void contextInterface() {
strategy.AlgorithmInterface();
}
}
Main
public class Main {
public static void main(String[] args) {
Context context;
context = new Context(new ConcreteStrategyA());
context.contextInterface();
context = new Context(new ConcreteStrategyB());
context.contextInterface();
context = new Context(new ConcreteStrategyC());
context.contextInterface();
}
}