博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用接口实现打印机案例
阅读量:4961 次
发布时间:2019-06-12

本文共 2119 字,大约阅读时间需要 7 分钟。

模拟打印机案例解析

       墨盒:彩色、黑白

       纸张类型:A4、B5

       墨盒和纸张都不是打印机厂商提供的

       打印机的打印功能需要使用兼容市场上的墨盒和纸张

       测试(把纸张和墨盒定义为接口,让以后的实现类去实现它)

package com.oned8z;

/**
* @program: com.oned8z
* @description:
* @author: Mr.Lin
* @create: 2019年7月21日
**/
public interface Paper {
/*
* 纸张
*/
public String paper();
}

package com.oned8z;

/**
* @program: com.oned8z
* @description:A4纸张实现类
* @author: Mr.Lin
* @create: 2019年7月21日
**/
public class A4Paper implements Paper{
@Override
public String paper() {
return "A4";
}
}

package com.oned8z;

/**
* @program: com.oned8z
* @description:B5纸张实现类
* @author: Mr.Lin
* @create: 2019年7月22日
**/
public class B5Paoer implements Paper{
@Override
public String paper() {
return "B5";
}

}

package com.oned8z;

/**
* @program: com.oned8z
* @description:墨盒接口
* @author: Mr.Lin
* @create: 2019年7月22日
**/
public interface Ink {
/**
* 墨盒
*/
public String ink();
}

package com.oned8z;

/**
* @program: com.oned8z
* @description:彩色墨盒实现类
* @author: Mr.Lin
* @create: 2019年7月22日
**/
public class ColorInk implements Ink{
@Override
public String ink() {
return "彩色";
}
}

package com.oned8z;

/**
* @program: com.oned8z
* @description:黑白墨盒实现类
* @author: Mr.Lin
* @create: 2019年7月22日
**/
public class BlackInk implements Ink{
@Override
public String ink() {
return "黑白";
}
}

package com.oned8z;

/**
* @program: com.oned8z
* @description:打印类
* @author: Mr.Lin
* @create: 2019年7月22日
**/
public class Printer {
private String ink;
private String paper;

public void setPaper(String paper) {

this.paper = paper;
}

public String getInk() {

return ink;
}

public String getPaper() {

return paper;
}

public void setInk(String ink) {

this.ink = ink;
}

public void dayin(){

System.out.println("用"+this.getInk()+"打印机打印"+this.getPaper()+"纸张");
}
}

package com.oned8z;

/**
* @program: com.oned8z
* @description:
* @author: Mr.Lin
* @create: 2019年7月22日
**/
public class PrinterTest {
public static void main(String[] args) {
A4Paper a4Paper = new A4Paper();
ColorInk colorInk = new ColorInk();
Printer printer = new Printer();

printer.setInk(colorInk.ink());

printer.setPaper(a4Paper.paper());
printer.dayin();
}

}

 

转载于:https://www.cnblogs.com/lpbk/p/11223562.html

你可能感兴趣的文章
mysql数据库中数据类型
查看>>
Fireworks基本使用
查看>>
两台电脑间的消息传输
查看>>
Linux 标准 I/O 库
查看>>
.net Tuple特性
查看>>
Java基础常见英语词汇
查看>>
iOS并发编程笔记【转】
查看>>
08号团队-团队任务5:项目总结会
查看>>
SQL2005 删除空白行null
查看>>
mysql备份与恢复
查看>>
混沌分形之迭代函数系统(IFS)
查看>>
边框圆角Css
查看>>
使用Busybox制作根文件系统
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>
delphi之模糊找图
查看>>
Javascript模块化编程的写法
查看>>
大华门禁SDK二次开发(二)-SignalR应用
查看>>
oracle 使用job定时自动重置sequence
查看>>
集成百度推送
查看>>
在项目中加入其他样式
查看>>