zoukankan      html  css  js  c++  java
  • 二.简单工厂

    简单工厂:

           简单工厂处理的是如何选择我们override的虚方法。

    public virtualdouble GetResult()

            {

                double result=0;

                return result;

            }

    不一定是虚方法,抽象方法也可以:

    abstract  classCashSuper

        {

            public abstract doubleacceptCash(double money);

    }

    父类,虚方法和子类,具体方法 —— 为第一篇:虚方法的代码

    调用工厂:

    class Program

        {

           static void Main(string[] args)

           {

               try

               {

                    Operate op=new Operate ();

                    Console.WriteLine("输入运算符");

                    //此处OP重新赋值,属性值也重新赋值

                    op= Factory.SetOperate(Console.ReadLine());

                    Console.WriteLine("输入数字1");

                    op.Num1 =Convert.ToDouble(Console.ReadLine());

                    Console.WriteLine("输入数字2");

                    op.Num2 = Convert.ToDouble(Console.ReadLine());

                   Console.WriteLine(op.GetResult());

               }

               catch (Exception ex)

               {

                    Console.WriteLine("错误:"+ex.Message );

               }

               Console.ReadKey();

            }

    }

    工厂类:

       class Factory

        {

           public static Operate SetOperate(string operate)

           {

               Operate oper = null;

               switch (operate)

               {

                    case "+":

                        oper=new OperateAdd();

                       break;

                    。。。。。。

               }

               return oper;

           }

        }

  • 相关阅读:
    字符串阵列分别输出元素的索引,原值和长度
    一个字符转换为整数
    从字符串数组中寻找数字的元素
    C#创建自己的扩展方法
    判断是否为空然后赋值
    C# yield关键词使用
    从字符串数组中把数字的元素找出来
    C#实现一张塔松叶
    计算2个时间之间经过多少Ticks
    对int array进行排序
  • 原文地址:https://www.cnblogs.com/yaoge/p/1815220.html
Copyright © 2011-2022 走看看