面向接口
需求
- 开发打印机
- 墨盒:彩色、黑白
- 纸张类型:A4、B5
- 墨盒和纸张都不是打印机厂商提供的
打印机厂商要兼容市场上的墨盒、纸张
结果
使用黑白墨盒在A4纸上打印
- 使用彩色墨盒在B5纸上打印
- 使用彩色墨盒在A4纸上打印
Printer.java
InkBox.java
BlackBox.java
ColorBox.java
Paper.java

A4Paper.java
B5Paper.java

Test1.java
public class Test1{ public static void main(String[] args){ //1、创建打印机 Printer printer = new Printer(); Paper paper = null; InkBox inbox = null; //使用黑白墨盒在A4纸上打印 inbox = new BlackBox(); paper = new A4Paper(); printer.setInkBox(inbox); printer.setPaper(paper); printer.print(); //使用彩色墨盒在B5纸上打印 inbox =new ColorBox(); paper =new B5Paper(); printer.setInkBox(inbox); printer.setPaper(paper); printer.print(); //使用彩色墨盒在A4纸上打印 inbox =new ColorBox(); paper = new A4Paper(); printer.setInkBox(inbox); printer.setPaper(paper); printer.print(); }}