Java模拟组装打印机


这是一个用Java语言写的控制台小程序,主要功能是负责组装打印机。

打印机的主要模块有:墨盒(黑白/彩色)和纸张(A4/B5),其他功能都暂且省略,下面要实现组装一个打印机,需要用尽可能少的代码修改量实现多种打印需求,比如要打印黑白A4的,或者彩色B5的等等。这里就有4种组合。

代码实现如下:

[java]
public class MainPrinter {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ShowPrinter sp = new ShowPrinter();
sp.show(new Heibai(), new PaperA4());
sp.show(new Heibai(), new PaperB5());
sp.show(new Caise(), new PaperA4());
sp.show(new Caise(), new PaperB5());
}
}
[/java]

[java]
public class ShowPrinter {
// 负责组建打印机
public void show(Mohe mh, Zhizhang zz) {
System.out.print("打印机配置为:");
mh.color();
zz.size();
System.out.println();
}
}
[/java]

[java]
public interface Mohe {
public void color();// 墨盒颜色
}
[/java]

[java]
public class Heibai implements Mohe {

@Override
public void color() {
// TODO Auto-generated method stub
System.out.print("黑白墨盒");
}
}
[/java]

[java]
public class Caise implements Mohe {

@Override
public void color() {
// TODO Auto-generated method stub
System.out.print("彩色墨盒");
}
}

[/java]

[java]
public interface Zhizhang {
public void size();// 纸张大小
}
[/java]

[java]
public class PaperA4 implements Zhizhang {

@Override
public void size() {
// TODO Auto-generated method stub
System.out.println("A4纸");
}
}

[/java]

[java]
public class PaperB5 implements Zhizhang {

@Override
public void size() {
// TODO Auto-generated method stub
System.out.println("B5纸");
}
}

[/java]

发表评论