zoukankan      html  css  js  c++  java
  • 一、简单工厂模式

    @#

    public class Operation  //基类
        {
            private double _numberA = 0;
            private double _numberB = 0;
            public double NumberA
            {
                get
                { return _numberA; }
                set
                {
                    _numberA = value;
                }
            }
            public double NumberB
            {
                get
                { return _numberB; }
                set
                {
                    _numberB = value;
                }
            }
            public virtual double GetResult()
            {
                double result = 0;
                return result;
            }
        }

    ##

        class OperationAdd:Operation    //加法类
        {
            public override double GetResult()
            {
                double result = 0;
                result = NumberA + NumberB;
                return result;
            }
        }
        class OperationSub:Operation    //减法类
        {
            public override double GetResult()
            {
    
                double result = 0;
                result = NumberA - NumberB;
                return result;
            }
        }

    ##

    public class OperationFactory   //工厂类
        {
            public static Operation CreateOperate(string operate)
            {
                Operation oper = null;
                switch(operate)
                {
                    case "+":
                        oper = new OperationAdd();
                        break;
                    case "-":
                        oper = new OperationSub();
                        break;                  
                }
                return oper;
            }
        }

    ##

        class Program   //前台代码
        {
            static void Main(string[] args) 
            {
                Operation oper = OperationFactory.CreateOperate("+");
                oper.NumberA = 20;
                oper.NumberB = 80;
                double result = oper.GetResult();
                Console.WriteLine(result);
            }
        }
  • 相关阅读:
    MISP版本嵌入式QT编译时出现mips-linux-gcc command not found
    数据传输对象(DTO)介绍及各类型实体比较
    signalR例子
    WebAPI GET和POST请求的几种方式
    github教程
    Asp.net MVC + EF + Spring.Net 项目实践3
    SpringMVC
    SignalR
    SignalR的实时高频通讯
    开发视频教程
  • 原文地址:https://www.cnblogs.com/tinaluo/p/6908182.html
Copyright © 2011-2022 走看看