zoukankan      html  css  js  c++  java
  • 简单工厂模式实例

    运算类

    public class operation
        {
            private double a = 0;
            private double b = 0;
    
            public double A
            {
                get { return a; }
                set { a = value; }
            }
            public double B
            {
                get { return b; }
                set { b = value; }
            }
            public virtual double GetResult()
            {
                double rst = 0;
                return rst;
            }
        }
    

     加减乘除类

    public class Jia : operation 
        {
            public override double GetResult()
            {
                double result = 0;
                result = A + B;
                return result;
            }
        }
        public class Jian : operation 
        {
            public override double GetResult()
            {
                double result = 0;
                result = A - B;
                return result;
            }
        }
        public class Cheng : operation
        {
            public override double GetResult()
            {
                double result = 0;
                result = A * B;
                return result;
            }
        }
        public class Chu : operation
        {
            public override double GetResult()
            {
                double result = 0;
                if(B==0)
                    throw new Exception("除数不能为0");
                result = A / B;
                return result;
            }
        }
    

     工厂类

    public class OperationFactory
        {
            public static operation CreateOperation(string operation)
            {
                operation result = null;
                switch (operation)
                {
                    case "+": result = new Jia(); break;
                    case "-": result = new Jian(); break;
                    case "*": result = new Cheng(); break;
                    case "/": result = new Chu(); break;
                    default:
                        break;
                }
                return result;
            }
        }
    

     控制台请求

     
                Console.Write("请输入第一个数");
                double a =Convert.ToDouble(Console.ReadLine());
                Console.Write("请输入第二个数");
                double b =Convert.ToDouble(Console.ReadLine());
                Console.Write("请输入运算符");
                string opr = Console.ReadLine();
                operation opr2 = OperationFactory.CreateOperation(opr);
                opr2.A = a;
                opr2.B = b;
                double result = opr2.GetResult();
                Console.WriteLine(result);
                Console.ReadLine();


     

  • 相关阅读:
    Ubuntu 下安装 PHP Solr 扩展的安装与使用
    转载:Ubuntu14-04安装redis和php5-redis扩展
    Datagridview全选,更新数据源代码
    sftp不识别的问题ssh命令找不到
    linux:如何修改用户的密码
    win7.wifi热点
    Rico Board.1.环境配置
    linux学习记录.6.vscode调试c makefile
    linux学习记录.5.git & github
    linux学习记录.3.virtualbox 共享文件夹
  • 原文地址:https://www.cnblogs.com/zxhome/p/4151512.html
Copyright © 2011-2022 走看看