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

    //简单工厂
    
    //读卡器抽象类
    public abstract class CardRader
    {
       //初始化
       public abstract int init();
       //读卡返回卡号
       public abstract string ReadID();
       //退卡
       public abstract void ExitCard();
       //....等等其他方法
    }
    
    //CRT310 读卡器 
    public class CardRaderCRT310 : CardRader
    {
       //初始化
       public override int init()
       {
          //...调用厂家方法
          
          // 初始化后设备返回代码
          return 1001;
       }
       //读卡返回卡号
       public override string ReadID()
       {
          //...调用厂家dll方法
          //返回读取的卡号
          return "62261111111111";
       }
       //退卡
       public override void ExitCard()
       {
          //...调用厂家dll方法
          Console.WriteLine("CRT310退出");
       }
       //....等等其他方法
    
    }
    
    //M100 读卡器 
    public class CardRaderM100 : CardRader
    {
       //初始化
       public override int init()
       {
          //...调用厂家dll方法
          
          // 初始化后设备返回代码
          return 1001;
       }
       //读卡返回卡号
       public override string ReadID()
       {
          //...调用厂家dll方法
          //返回读取的卡号
          return "62261111111111";
       }
       //退卡
       public override void ExitCard()
       {
          //...调用厂家dll方法
          Console.WriteLine("M100退出");
       }
       //....等等其他方法
    
    }
    
    //简单工厂
    public class CardRaderFactory
        {
            public static CardRader CreateCardRader(string type)
            {
                CardRader cr = null;
                if (type.Equals("M100"))
                {
                    cr= new CardRaderM100();
                }
                else if (type.Equals("CRT310"))
                {
                    cr= new CardRaderCRT310();
                }
     
                return cr;
            }
        }
        
        
        --------调用-----
        CardRader cr = CardRaderFactory.CreateCardRader("M100");
         cr.init();
    
     
     
  • 相关阅读:
    oracle 分配表权限给用户的写法
    任务的一种写法:
    解决oracle 32位64位的问题
    设计模式学习
    Nginx 相关介绍
    (2) html 语义化
    (1)HTML5的常用新特性你必须知道
    less初学手记
    如何修改chrome记住密码后自动填充表单的黄色背景 ?
    HTML的水平居中和垂直居中解决方案
  • 原文地址:https://www.cnblogs.com/jasonduan/p/5287986.html
Copyright © 2011-2022 走看看