zoukankan      html  css  js  c++  java
  • 关于工厂模式---转发

    这里我也不写了,直接转代码

    package org.jzkangta.factorydemo03;

    interface Car{
      public void run();
      public void stop();
    }

    class Benz implements Car

    {
      public void run()

      {
        System.out.println("Benz¿ªÊ¼Æô¶¯ÁË¡£¡£¡£¡£¡£");
      }

      public void stop()

      {
          System.out.println("BenzÍ£³µÁË¡£¡£¡£¡£¡£");
      }
    }

    class Ford implements Car

    {
      public void run()

      {
        System.out.println("Ford¿ªÊ¼Æô¶¯ÁË¡£¡£¡£");
      }
      public void stop()

      {
        System.out.println("FordÍ£³µÁË¡£¡£¡£¡£");
      }
    }

    class Toyota implements Car

    {
      public void run()

      {
          System.out.println("Toyota¿ªÊ¼Æô¶¯ÁË¡£¡£¡£");
      }
      public void stop()

      {
        System.out.println("ToyotaÍ£³µÁË¡£¡£¡£¡£");
      }
    }

    class Factory

    {
      public static Car getCarInstance(String type)

      {
        

         Car c=null;
        try

        {
          c=(Car)Class.forName("org.jzkangta.factorydemo03."+type).newInstance();
        } catch (InstantiationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        } catch (IllegalAccessException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();

        }
        return c;
      }
    }
    public class FactoryDemo03

    {

      public static void main(String[] args)

       {
        Car c=Factory.getCarInstance("Toyota");
        if(c!=null)

        {
          c.run();
          c.stop();
        }else

        {
          System.out.println("Ôì²»ÁËÕâÖÖÆû³µ¡£¡£¡£");
        }

      }

    }

    好,这里我就只做解释

    我们先了解什么是工厂

    我的理解,所谓工厂就是原料送进工厂,然后工厂加工,最后送出产品。

    这样我们就可以理解了,也就是说,我们把工厂的加工封装成方法就可以了。

    看上边的代码,我们能看到

    首先是有一个interface(Car)作为resource,

    其次我们可以在下边对interface进行impelments实现每个type的Car的方法

    第三,实现工厂类,这里就是最重要的了,也就是把原料加工成成品就在这里

    传入参数判断是否符合,符合就返回相应的对象,没有就是有异常,返回一句话

    最后就是调用了,灵活调用就看需求了。

  • 相关阅读:
    【Luogu P5515】[MtOI2019]灵梦的计算器
    简易的命令行入门教程
    8个接私活的网站,只要你有码,那“我”就有钱
    单表查询必会13条
    「Django」rest_framework学习系列-路由
    Linux下将时间修改为当地时间(通过ntpdate服务)
    iptables拒绝发起大量请求(针对单IP地址)
    .webp格式win7无法显示缩略图
    永久修改/etc/proc下的项的配置文件
    通过vsftpd实现虚拟用户登录,不同的用户登录不同的目录,使用不同的权限
  • 原文地址:https://www.cnblogs.com/kevinfuture/p/4357992.html
Copyright © 2011-2022 走看看