在上下文或者对象中的方法进行算法封装,方法也可分成父类方法和子类方法
UML:
JAVA:
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的实现");
}
}