策略模式笔记

来源:互联网 发布:windows界面 编辑:程序博客网 时间:2024/05/21 20:21
今天复习了策略模式,看到有个教程上谈到了个不错的例子,现笔记之,更多的可以参考<head first design pattern>>,
主要是一个四则运算计算器,输入数a,b,以及运算符号,之后完成四则运算。
我们首先建立一个抽象类
package org.jzkangta.strategy02;
//抽象的策略角色
public abstract class Operation {
 public abstract void oper(float a,float b);
}
然后分别对加,减,乘,除继承之,实现其操作,比如加法
public class Add extends Operation{
 public void oper(float a,float b){
  float result=a+b;
  System.out.println("相加的结果为-->"+result);
 }
}

处理的运算类
public class Calc {
 private Operation o;
 
 public final static Operation add=new Add();
 public final static Operation jian=new Jian();
 public final static Operation cheng=new Cheng();
 public final static Operation chu=new Chu();
 
 public void oper(float a,float b){
  o.oper(a, b);
 }
}
具体的测试类

public class Test {


 public static void main(String[] args) {
  float a=100;
  float b=25;
  
  Calc c=new Calc();
  
  c.add.oper(a, b);
  
  

 }

}