码迷,mamicode.com
首页 > Windows程序 > 详细

c#中简单工厂模式

时间:2015-09-21 09:11:23      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

运算类

 public  class yunsuan
    {
       public static operation create(string operate) {
           operation oper = null;
           switch (operate) { 
                   case "+":
                   oper = new add();
                   break;
               case "-":
                   oper = new sub();
                   break;
               case "*":
                   oper = new cheng();
                   break;
               case "/":
                   oper = new chu();
                   break;
           
           
           }
           return oper;
       
       }
    }
    //类的属性
    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 add : operation {//加法
        public override double getresult()
        {
            double result = 0;
            result = NumberA + NumberB;
            return result;
        }
    }
    //减法
    class sub : operation {
        public override double getresult()
        {
            double result = 0;
            result = NumberA - NumberB;
            return result;
        }
    }
    //乘法
    class cheng : operation {
        public override double getresult()
        {
            double result = 0;
            result = NumberA * NumberB;
            return result;
        }
    
    }
    class chu : operation {
        public override double getresult()
        {
            double result = 0;
            if (NumberB == 0) {
                Console.WriteLine("被除数不能为0");
            }
            result = NumberA / NumberB;
            return result;
        }
    }

客户端代码

  //简单工厂模式 
            operation oper;
            oper = yunsuan.create("/");
            oper.NumberA = 10;
            oper.NumberB = 10;
            double result = oper.getresult();
            Console.WriteLine(result);
            Console.ReadKey();

 

c#中简单工厂模式

标签:

原文地址:http://www.cnblogs.com/mengluo/p/4825184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!