- public class Operation
- {
- private double _numberA = 0;
- private double _numberB = 0;
- public double getnumberA()
- {
- return _numberA;
- }
- public double getnumberB()
- {
- return _numberB;
- }
- public void setnumberA(double numberA)
- {
- this._numberA = numberA;
- }
- public void setnumberB(double numberB)
- {
- this._numberB = numberB;
- }
- public double GetResult()
- {
- double result = 0;
- return result;
- }
- }
- class OperationAdd extends Operation
- {
- public double GetResult()
- {
- double result = 0;
- result = getnumberA() + getnumberB();
- return result;
- }
- }
- class OperationSub extends Operation
- {
- public double GetResult()
- {
- double result = 0;
- result = getnumberA() - getnumberB();
- return result;
- }
- }
- class OperationMul extends Operation
- {
- public double GetResult()
- {
- double result = 0;
- result = getnumberA() * getnumberB();
- return result;
- }
- }
- class OperationDiv extends Operation
- {
- public double GetResult()
- {
- double result = 0;
- if(getnumberB()==0)
- System.out.println("除数不能为0");
- else
- result = getnumberA() / getnumberB();
- return result;
- }
- }
- class OperationFactory
- {
- public static Operation createOperate(String operate)
- {
- Operation oper = null;
- if(operate == "+")
- {
- oper = new OperationAdd();
- }else if(operate == "-")
- {
- oper = new OperationSub();
- }else if(operate == "*")
- {
- oper = new OperationMul();
- }else if(operate == "/")
- {
- oper = new OperationDiv();
- }
- return oper;
- }
- }
- public class OperationFactoryTest1
- {
- public static void main(String[] args)
- {
- Operation oper;
- oper = OperationFactory.createOperate("+");
- oper.setnumberA(2.3);
- oper.setnumberB(2.4);
- double result = oper.GetResult();
- System.out.println(result);
- }
- }