简单工厂模式
发布日期:2021-06-29 19:13:58 浏览次数:2 分类:技术文章

本文共 2303 字,大约阅读时间需要 7 分钟。

简单工厂模式

面向对象编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类

简单工厂模式最大的优点在于工厂类中包含了必要的逻辑判断,根据客户端选择的条件动态的实例化相关的类,对于客户端来说,去除了与具体产品的依赖

利用简单工厂模式编写具有加减乘除运算功能的小程序

public class Operation   //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;         }     }    class OperationMul : Operation//乘法运算类    {         public override double GetResult()         {         double result = 0;         result = NumberA* NumberB;         return result;         }     }     class OperationDiv : 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;         case "*":         oper = new OperationMul();         break;         case "/":         oper = new OperationDiv();         break;     }     return oper;    }}    class Program//客户端代码    {       static void Main(string[] args)       {         Operation oper;         oper = OperationFactory.createOperate("+");         oper.NumberA = 56;         oper.NumberB = 55;         double result = oper.GetResult();         Console.WriteLine(result);         Console.ReadKey();               }         }   }

转载地址:https://czhenya.blog.csdn.net/article/details/78002401 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Unity PlayerPrefs 游戏存档
下一篇:C# 特性和反射

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月16日 00时13分56秒