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);
            }
        }
  • 相关阅读:
    11111 Generalized Matrioshkas
    Uva 442 Matrix Chain Multiplication
    Uva 10815 Andy's First Dictionary
    Uva 537 Artificial Intelligence?
    Uva 340 MasterMind Hints
    SCAU 9508 诸葛给我牌(水泥题)
    Uva 10420 List of Conquests(排序水题)
    Uva 409 Excuses, Excuses!
    10/26
    11/2
  • 原文地址:https://www.cnblogs.com/tinaluo/p/6908182.html
Copyright © 2011-2022 走看看