zoukankan      html  css  js  c++  java
  • 反射实现抽象工厂

      上篇我们说了接口工厂,接下来我们看看抽象工厂

         抽象类用abstract修饰,

         抽象类不能被实例化,抽象方法必须声明在抽象类中,抽象类型不一定不需存在抽象方法,具体派生类必须覆盖基类的抽象方法,抽象派生类可以覆盖基类的抽象方法也可以不覆盖

         这样我们就实现了在基类中添加error方法,子类中无需添加,只需要传error信息就行

         调用方法:

        ICarStract carStract = TcFactory_.GetCarInstance("BenzStract");
            carStract.run();
            carStract.stop();
            carStract.error("BenzStract ");       --基类的error方法

    --------------------------

    public class TcFactory_

    {    

      public TcFactory_()    

      {         //         //TODO: 在此处添加构造函数逻辑         //    

      }    

      public static ICarStract GetCarInstance(string className)    

      {        

        ICarStract car = null;        

        Type type = Type.GetType(className);        

        car = (ICarStract)Activator.CreateInstance(type);        

        return car;    

      }

    }

    public class BenzStract : ICarStract

    {    

      public override void run()    

      {        

        HttpContext.Current.Response.Write("BenzStract run<br/>");    

      }

      public override void stop()    

      {        

        HttpContext.Current.Response.Write("BenzStract stop<br/>");    

      }    

      public void testBenz()    

      {        

        HttpContext.Current.Response.Write("BenzStract test<br/>");    

      }

    }

    public class BmwStract : ICarStract

    {

        public override void run()    

      {        

        HttpContext.Current.Response.Write("BmwStract stop<br/>");    

      }

        public override void stop()    

      {        

        HttpContext.Current.Response.Write("BmwStract stop<br/>");    

      }

    }

    public abstract class ICarStract

    {    

      public abstract void run();    

      public abstract void stop();    

      public void error(string str)    

      {        

        HttpContext.Current.Response.Write(str + "error<br/>");    

      }

    }

  • 相关阅读:
    C#画K线图代码
    SQL查询效率:100w数据查询只需要1秒钟
    全程图解 手把手教你做RAID磁盘阵列
    炒股高手实战技巧
    数据库主键设计之思考
    如何做磁盘阵列和磁盘镜象
    股海心法—浓缩股市精华
    如何做磁盘阵列
    SQL Server 2005实现负载均衡的详细介绍!
    K线六种形态
  • 原文地址:https://www.cnblogs.com/ajun/p/2815957.html
Copyright © 2011-2022 走看看