策略者模式思想是一个接口有多个实现类 把接口封装在一个封装类中调用的时候创建实现类对象传入封装类中 ,用到了向上转型
1 .策略接口
/**
* 策略接口
*/
public interface IStrategy {
public void operate();
}
2 .实现策略的实现类
/**
* 实现方法
*/
public class BackDoor implements IStrategy {
@Override
public void operate() {
System.out.println("策略者1");
}
}
public class BackDoor2 implements IStrategy {
@Override
public void operate() {
System.out.println("策略者2");
}
}
public class BackDoor3 implements IStrategy {
@Override
public void operate() {
System.out.print("策略者3");
}
}
3 .放置实现方法的类
/**
* 封装实现的方法
*/
public class Context {
private IStrategy iStrategy;
public Context(IStrategy iStrategy){
this.iStrategy=iStrategy;
}
public void operate(){
iStrategy.operate();
}
}
4 .实现策略实现
public class Main {
private static Context context;
public static void main(String[] args) {
context = new Context(new BackDoor());
context.operate();
context = new Context(new BackDoor2());
context.operate();
context = new Context(new BackDoor3());
context.operate();
}
}
打印结果: 策略者1 策略者2 策略者3