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

    class Operation {
        private double num1;
        private double num2;
    
        public double Num1
        {
            get
            {
                return num1;
            }
    
            set
            {
                num1 = value;
            }
        }
        public double Num2
        {
            set
            {
                num2=value;
            }
            get
            {            
                return num2;
            }
        }
        public virtual double GetResult()
        {
            double result = 0;
            return result;
        }
    }
    class OperationAdd : Operation
    {
        public override double GetResult()
        {
            double result = 0;
            result = Num1 + Num2;
            return result;
        }
    }
    class OperationSub : Operation
    {
        public override double GetResult()
        {
            double result = 0;
            result = Num1 - Num2;
            return result;
        }
    }
    class OperationMul : Operation
    {
        public override double GetResult()
        {
            double result = 0;
            result = Num1 * Num2;
            return result;
        }
    }
    class OperationDiv : Operation
    {
        public override double GetResult()
        {
            double result = 0;
            result = Num1 / Num2;
            return result;
        }
    }
    class OperationFactory
    {
        public static Operation creatOperate( string operate)
        {
            Operation oper = null;
            switch (operate)
            {
                case "+":
                    oper = new OperationAdd();
                    break;
                case "-":
                    oper = new OperationSub();
                    break;
                case "*":
                    oper = new OperationMul();
                    break;
                case "/":
                    oper = new OperationDiv();
                    break;
            }
            return oper;
        }
    }
    

      

    客户端代码:

    Operation oper;
    oper = OperationFactory.createOperate("+");
    oper.Num1 = 1;
    oper.Num2 = 2;
    double result = oper.GetResult();
    

      

  • 相关阅读:
    DS博客作业02--栈和队列
    DS博客作业03--树
    C博客作业05--指针
    C语言博客作业04--数组
    C博客作业03--函数
    C博客作业02--循环结构
    C博客作业01--分支、顺序结构
    我的第一篇博客作业
    java购物车案例
    第三周-自主学习任务-面向对象基础与类的识别
  • 原文地址:https://www.cnblogs.com/xingyunge/p/6971001.html
Copyright © 2011-2022 走看看