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();
      }
    }

  • 相关阅读:
    统计图配色方案_填充
    如何在C/S下打印报表
    如何利用API导出带有页眉页脚的excel
    通过ajax记录打印信息
    reportConfig.xml两种数据源连接的配置方式
    润乾填报页面导入excel后增加js动作
    matplotlib多plot可视化
    Python之SGDRegressor
    Python之岭回归
    Python之随机梯度下降
  • 原文地址:https://www.cnblogs.com/zhangkefan/p/4804587.html
Copyright © 2011-2022 走看看