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;

           }

        }

  • 相关阅读:
    Ubuntu下配置Viw Tab键缩进格数
    Windows文件传给Ubuntu出现乱码问题
    [Luogu] P4948 数列求和
    [Luogu]P1286 两数之和
    [Luogu]P2717 寒假作业
    [Luogu]P5110 块速递推
    Breeze魔兽编程交流论坛
    #pragma 预处理指令详解
    Api Hook 细析(一)
    CMS(网站内容管理系统)有哪些?
  • 原文地址:https://www.cnblogs.com/yaoge/p/1815220.html
Copyright © 2011-2022 走看看