public class StrategyTest {
public static void main(String[] args) {
Context context = new Context(new ConcreteStrategyA());
}
}
//上下文
class Context{
Strategy strategy;
public Context(Strategy strategy){this.strategy=strategy;}
//上下文接口,执行算法
public void ContextInterface() {
strategy.AlgorithmInterface();
}
}
abstract class Strategy{
//算法方法
public abstract void AlgorithmInterface();
}
class ConcreteStrategyA extends Strategy{
@Override
public void AlgorithmInterface() {
System.out.println("算法A的实现");
}
}