策略模式
1 public class ttt { 2 3 public static void main(String[] args) { 4 ProduceContext pc = new ProduceContext(new Winter()); 5 pc.GetDecision(555); 6 } 7 } 8 //父类 9 interface ProduceStrategy{ 10 void Decision(int capital); 11 } 12 //冬季 13 class Winter implements ProduceStrategy{ 14 15 @Override 16 public void Decision(int capital) { 17 System.out.println("冬季"+capital); 18 } 19 20 } 21 //夏季 22 class Summer implements ProduceStrategy{ 23 24 @Override 25 public void Decision(int capital) { 26 System.out.println("夏季"+capital); 27 } 28 29 } 30 //重要一环 31 class ProduceContext{ 32 private ProduceStrategy ps; 33 //生产上下文 34 public ProduceContext(ProduceStrategy ps) { 35 this.ps = ps; 36 } 37 //如何决策 38 public void GetDecision(int capital) { 39 ps.Decision(capital); 40 } 41 }
输出:
冬季555