• 简单工厂模式


    简单工厂模式比较简单,原理是在工厂内部进行if判断或者switch判断进行实例化哪个类。

    uml符号含义请看:https://blog.csdn.net/jalon2015/article/details/51003521

     第一步:封装,即抽象出超类

    第二步:继承,即子类继承超类;

    第三步:简单工厂,即实例化子类,返回子类;

    第四步:客户端 根据参数类型来返回结果;

    例子:

      //抽象类
      public abstract class cashSuper
      {
          //抽象方法:提供一些列的算法操作
          public abstract void acceptCash(string org);
      }

      //继承自抽象类
      public class  cashNormal  extends cashSuper
      {
          //具体方法:提供一些列的算法操作
          public double acceptCash(string org)

      {

         System.out.println("A类方法接受参数:"+org);

        }
      }

      

      //继承自抽象类
      public class  cashRebate  extends cashSuper
      {
          //具体方法:提供一些列的算法操作
          public  double acceptCash(string org)

      {  

         System.out.println("B类方法接受参数:"+org);

        }
      }

      

      简单工厂类

      //现金收取工厂
      public class CashFactory
      {
          //根据条件返回相应的对象
          public static AbsClass createCashAccept(string type)
          {
              cashSuper  cs = null;
              switch (type) //switch 支持的数据类型有6种
              {
                  case "A":
                      cs = new cashNormal();
                      break;
                  case "B":
                      cs = new cashRebate();
                      break;
                  case "...":
                      ........ ....
                      break;

         default: 

          break;
              }
              return cs;
          }
      }

      客户端调用:

      利用简单工厂模式根据下拉选择框,生成相应的对象
      AbsClass csuper = CashFactory.createCashAccept("A");   //这里是区别策略模式的相似的地方,此处传递的是一个参数,在内部进行选取不同的对象。

      csuper.acceptCash("11"); 

      输出结果为:A类方法接受参数:11

      本文参照:https://blog.csdn.net/fwj380891124/article/details/7552305

  • 相关阅读:
    Unbuntu--安装VMware Tools
    方法引用的基本使用
    Stream流
    Stream流的常用方法
    枚举
    编程式路由导航
    向路由组件传递数据
    缓存路由组件
    嵌套路由
    基本路由
  • 原文地址:https://www.cnblogs.com/ljy-skill/p/9015190.html
Copyright © 2020-2023  润新知