1.新建计算类
public class Operation {
private double _numa;
private double _numb;
private double _result;
/**
* 获取_numa
*
* @return _numa
*/
public double get_numa() {
return _numa;
}
/**
* 设置_numa
*
* @param _numa
*/
public void set_numa(double _numa) {
this._numa = _numa;
}
/**
* 获取_numb
*
* @return _numb
*/
public double get_numb() {
return _numb;
}
/**
* 设置_numb
*
* @param _numb
*/
public void set_numb(double _numb) {
this._numb = _numb;
}
/**
* 获取_result
*
* @return _result
*/
public double get_result() {
return _result;
}
/**
* 设置_result
*
* @param _result
*/
public void set_result(double _result) {
this._result = _result;
}
}
2.新建一个加法类继承OpetationAdd并重写get_result()方法
public class OperationFactory {
/**
* 创建运算类
*/
public static Operation createOperation(String operator) {
Operation operation = null;
switch (operator) {
case "+":
operation = new OperationAdd();
break;
default:
break;
}
return operation;
}
/**
* 描述方法的作用
*
* @param args
*/
public static void main(String[] args) {
Operation op = new OperationFactory().createOperation("+");
op.set_numa(2);
op.set_numb(2);
System.out.println(op.get_result());
}
}
3.新建OperationFactory类并新建createOperation()方法实现抽象运算
public class OperationFactory {
/**
* 创建运算类
*/
public static Operation createOperation(String operator) {
Operation operation = null;
switch (operator) {
case "+":
operation = new OperationAdd();
break;
default:
break;
}
return operation;
}
}
4.测试运行加法
public static void main(String[] args) {
Operation op = new OperationFactory().createOperation("+");
op.set_numa(2);
op.set_numb(2);
System.out.println(op.get_result());
}
总结:
以后需要修改加法只要修改OperationAdd类即可
如果需要添加其他复杂运算,只要添加相关类并在OperationFactory类的createOperation()方法中添加switch分支即可