Beispiel #1
0
        public OperateInterface CreateOperate(string strOperator)
        {
            if (strOperator.Equals("+"))
            {
                OperateInterface operInterf = new OperateAdd(); //如果传进来的是+,定义一个接口operInterf,并且使用OperateAdd()来实例化这个接口
                //这时operInterf其实就是一个OperateAdd()的对象
                return(operInterf);                             //这时把operInterf返回给operFac.CreateOperate(),再赋值给operInterface
            }

            else if (strOperator.Equals("-"))
            {
                OperateInterface operInterf = new OperateDec();
                return(operInterf);
            }


            else if (strOperator.Equals("*"))
            {
                OperateInterface operInterf = new OperateRide();
                return(operInterf);
            }

            else if (strOperator.Equals("/"))
            {
                OperateInterface operInterf = new OperateDiv();
                return(operInterf);
            }

            else if (strOperator.Equals("reciprocal"))
            {
                OperateInterface operInterf = new OperateRecip();
                return(operInterf);
            }
            return(null);
        }
Beispiel #2
0
        public static Operation CreateOperate(string operate)
        {
            Operation oper = null;

            switch (operate)
            {
            case "+":
                oper = new  OperateAdd();
                break;

            case "-":
                oper = new OperateDelete();
                break;

            case "*":
                oper = new OperateMultiple();
                break;

            case "/":
                oper = new OperateDevide();
                break;
            }
            return(oper);
        }