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;

           }

        }

  • 相关阅读:
    [译]Mongoose指南
    shell去掉后缀方法
    memcache和memcached区别
    ssh隧道远程连接mysql
    nginx实现某个页面http访问,其余全部跳转到https
    es快照和备份
    elasticsearch 单节点实现
    logstash5安装并实现mariadb数据写入到elasticsearch
    linux 内存分析
    zabbix api创建screen vsize限制解决
  • 原文地址:https://www.cnblogs.com/yaoge/p/1815220.html
Copyright © 2011-2022 走看看