大家好,又见面了,我是全栈君。
Strategy
)
public interface Strategy {
public void operate();
}
ConcreteStrategy
):
public class BackDoor implements IStrategy { @Override public void operate() { System.out.println("找乔国老帮忙,让吴国太给孙权施加压力,使孙权不能杀刘备"); }}
public class GivenGreenLight implements IStrategy {
@Override
public void operate() {
System.out.println("求吴国太开个绿灯,放行");
}
}
public class BlackEnemy implements IStrategy {
@Override
public void operate() {
System.out.println("孙夫人断后,挡住追兵");
}
}
环境类(
Context)
public class Context { private Strategy strategy; //构造函数,要你使用哪个妙计 public Context(Strategy strategy){ this.strategy = strategy; } public void setStrategy(Strategy strategy){ this.strategy = strategy; } public void operate(){ this.strategy.operate(); }}
下面就是使用的情况了
public class Zhaoyun {public static void main(String[] args) { Context context; System.out.println("----------刚到吴国使用第一个锦囊---------------"); context = new Context(new BackDoor()); context.operate(); System.out.println("\n"); System.out.println("----------刘备乐不思蜀使用第二个锦囊---------------"); context.setStrategy(new GivenGreenLight()); context.operate(); System.out.println("\n"); System.out.println("----------孙权的追兵来了,使用第三个锦囊---------------"); context.setStrategy(new BlackEnemy()); context.operate(); System.out.println("\n"); }}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121325.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...