面向接口

需求

  • 开发打印机
  • 墨盒:彩色、黑白
  • 纸张类型:A4、B5
  • 墨盒和纸张都不是打印机厂商提供的
  • 打印机厂商要兼容市场上的墨盒、纸张

    结果

  • 使用黑白墨盒在A4纸上打印

  • 使用彩色墨盒在B5纸上打印
  • 使用彩色墨盒在A4纸上打印

Printer.java

image.png

InkBox.java

image.png

BlackBox.java

image.png

ColorBox.java

image.png

Paper.java

image.png

A4Paper.java

image.png

B5Paper.java

image.png

Test1.java

  1. public class Test1{
  2. public static void main(String[] args){
  3. //1、创建打印机
  4. Printer printer = new Printer();
  5. Paper paper = null;
  6. InkBox inbox = null;
  7. //使用黑白墨盒在A4纸上打印
  8. inbox = new BlackBox();
  9. paper = new A4Paper();
  10. printer.setInkBox(inbox);
  11. printer.setPaper(paper);
  12. printer.print();
  13. //使用彩色墨盒在B5纸上打印
  14. inbox =new ColorBox();
  15. paper =new B5Paper();
  16. printer.setInkBox(inbox);
  17. printer.setPaper(paper);
  18. printer.print();
  19. //使用彩色墨盒在A4纸上打印
  20. inbox =new ColorBox();
  21. paper = new A4Paper();
  22. printer.setInkBox(inbox);
  23. printer.setPaper(paper);
  24. printer.print();
  25. }
  26. }