面向接口编程:打印机

面向接口编程

实现打印机的功能:

1.打印机包含墨盒和纸张
2.墨盒可以自定义颜色
3.纸张可以自定义大小

测试

package printer;
//	组装打印机
public class Demo {
	public static void main(String[] args) {
//		创建打印机
		Printer printer = new Printer();
//		墨盒颜色
		printer.setMyColor("彩色");
//		纸张大小
		printer.setMySize("A8");
		
//		准备墨盒
		Inkbox inkbox = new ColorInkbox();
//		准备纸张
		Paper paper = new PaperSize();
		
//		将墨盒和纸张装进打印机
		printer.setInkbox(inkbox);
		printer.setPaper(paper);
		
//		打印机使用
		printer.myPaper();	
	}
}

打印机属性

package printer;
//	打印机属性
public class Printer {
	
//	墨盒
	private Inkbox inkbox;
//	纸张
	private Paper paper;
//	墨盒颜色
	private String myColor;
//	纸张大小
	private String mySize;
	
	public void myPaper(){
		System.out.println("我使用"+inkbox.color(myColor)+"在"+paper.size(mySize)+"上打印。");
	}

	public Inkbox getInkbox() {
		return inkbox;
	}
	public void setInkbox(Inkbox inkbox) {
		this.inkbox = inkbox;
	}
	public Paper getPaper() {
		return paper;
	}
	public void setPaper(Paper paper) {
		this.paper = paper;
	}
	public String getMyColor() {
		return myColor;
	}
	public void setMyColor(String myColor) {
		this.myColor = myColor;
	}
	public String getMySize() {
		return mySize;
	}
	public void setMySize(String mySize) {
		this.mySize = mySize;
	}
	public Printer() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Printer(Inkbox inkbox, Paper paper, String myColor, String mySize) {
		super();
		this.inkbox = inkbox;
		this.paper = paper;
		this.myColor = myColor;
		this.mySize = mySize;
	}
	public String toString() {
		return "Printer [inkbox=" + inkbox + ", paper=" + paper + ", myColor="
				+ myColor + ", mySize=" + mySize + "]";
	}	
}

墨盒

package printer;
public interface Inkbox {
//	准备墨盒
	public String color(String color);
}

墨盒颜色

package printer;
public class ColorInkbox implements Inkbox {
//	墨盒颜色
	public String color(String color) {
		return color+"墨盒";
	}
}

纸张

package printer;
public interface Paper {
//	准备纸张
	public String size(String size);
}

纸张大小

package printer;
public class PaperSize implements Paper {
//	纸张大小
	public String size(String size) {
		return size+"纸张";
	}
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值