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();
    
     
     
  • 相关阅读:
    删除旧版vue-cli
    vue.extend和vue.component的区别
    vue-loader处理vue文件
    CentOS7安装iptables防火墙
    java类的初始化顺序
    java的接口和抽象类的理解
    js中的in操作符
    js中call和apply函数
    js的类型转换
    闭包作用
  • 原文地址:https://www.cnblogs.com/jasonduan/p/5287986.html
Copyright © 2011-2022 走看看