面向接口
需求
- 开发打印机
- 墨盒:彩色、黑白
- 纸张类型: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();
}
}