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

  • 相关阅读:
    如何使用Eclipse和GCC搭建STM32环境
    增量式pid和位置式PID参数整定过程对比
    webrtc 源码结构
    小米路由器刷Xiaomi Mi WiFi Mini openwrt
    js jQuery 右键菜单 清屏
    沉默的大多数 (王小波)
    kindle书摘-活着-余华-活着不易,珍惜
    kindle书摘-围城-相爱勿相伤
    Nagios系列1,选择
    红楼梦人物关系图,一代大师成绝响,下回分解待何人,kindle读书摘要
  • 原文地址:https://www.cnblogs.com/zhangkefan/p/4804587.html
Copyright © 2011-2022 走看看