• 简单工厂模式


    class Operation {
        private double num1;
        private double num2;
    
        public double Num1
        {
            get
            {
                return num1;
            }
    
            set
            {
                num1 = value;
            }
        }
        public double Num2
        {
            set
            {
                num2=value;
            }
            get
            {            
                return num2;
            }
        }
        public virtual double GetResult()
        {
            double result = 0;
            return result;
        }
    }
    class OperationAdd : Operation
    {
        public override double GetResult()
        {
            double result = 0;
            result = Num1 + Num2;
            return result;
        }
    }
    class OperationSub : Operation
    {
        public override double GetResult()
        {
            double result = 0;
            result = Num1 - Num2;
            return result;
        }
    }
    class OperationMul : Operation
    {
        public override double GetResult()
        {
            double result = 0;
            result = Num1 * Num2;
            return result;
        }
    }
    class OperationDiv : Operation
    {
        public override double GetResult()
        {
            double result = 0;
            result = Num1 / Num2;
            return result;
        }
    }
    class OperationFactory
    {
        public static Operation creatOperate( string operate)
        {
            Operation oper = null;
            switch (operate)
            {
                case "+":
                    oper = new OperationAdd();
                    break;
                case "-":
                    oper = new OperationSub();
                    break;
                case "*":
                    oper = new OperationMul();
                    break;
                case "/":
                    oper = new OperationDiv();
                    break;
            }
            return oper;
        }
    }
    

      

    客户端代码:

    Operation oper;
    oper = OperationFactory.createOperate("+");
    oper.Num1 = 1;
    oper.Num2 = 2;
    double result = oper.GetResult();
    

      

  • 相关阅读:
    指针如何影响结构体,细节的思考
    【转】oracle null
    【转】JavaScript闭包
    【转】Ext JS xtype
    【转】EXT JS MVC开发模式
    【转】Ext.ajax.request 中的success和failure
    【转】Oracle job procedure 存储过程定时任务
    JDK重要包和Java学习方法论
    rownum
    【转】Js获取当前日期时间及格式化操作
  • 原文地址:https://www.cnblogs.com/xingyunge/p/6971001.html
Copyright © 2020-2023  润新知