zoukankan      html  css  js  c++  java
  • 设计模式之静态工厂模式

    public interface Printer {
      public abstract void open();
      public abstract void close();
      public abstract void print();
    }

    public class HPPrinter implements Printer {
      @Override
      public void open() {
        System.out.println("HPPrinter open");
      }
      @Override
      public void close() {
        System.out.println("HPPrinter close");
      }
      @Override
      public void print() {
        System.out.println("HPPrinter print");
      }
    }

    public class HWPrinter implements Printer {
      @Override
      public void open() {
        System.out.println("HWPrinter open");
      }
      @Override
      public void close() {
        System.out.println("HWPrinter open");
      }
      @Override
      public void print() {
        System.out.println("HWPrinter open");
      }
    }

    public class FactoryPrinter {
      public static Printer getPrinter(int arg) {
      Printer printer = null;
      if(arg == 0) {
        printer = new HPPrinter();
      }
      else if(arg == 1) {
        printer = new HWPrinter();
      }
      return printer;
      }
    }

    public class Computer
    {
          private Printer printer;
      public Computer(Printer printer)
      {
        this.printer = printer;
      }
      //定义一个模拟打印的方法
      public void print()
      {
        printer.print();
      }
    }

    public class Test {
      public static void main(String[] args) {
        Printer printer = null;
        int flag = 0;
        printer = FactoryPrinter.getPrinter(flag);
        Computer computer = new Computer(printer);
        computer.print();
      }
    }

  • 相关阅读:
    PI SQL 语句
    MySQL数据库远程访问权限如何打开(两种方法)
    Ajax 实现无刷新分页
    php文件缓存方法总结
    PHP常用的缓存技术汇总
    PHP缓存机制详解
    用js判断页面刷新或关闭的方法
    基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
    jquery刷新页面
    一些JavaScript基本函数
  • 原文地址:https://www.cnblogs.com/zhangkefan/p/4804587.html
Copyright © 2011-2022 走看看