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分支即可