模拟打印机案例

package cnkgc.jredu.oop;
/**
 * 把纸张和墨盒都定义为接口,让以后的实现类去实现它。(纸张接口)
 * @author vip宅男 创建日期:2018年01月09号
 *
 */
public interface Paper {
/**
* 纸张
*/
void paper();
}

/**
 * 
 * @author vip宅男 创建日期:2018年01月09号
 *
 */
public class A4Paper implements Paper {


@Override
public void paper() {
System.out.println("组装一个A4纸盒");
}


}

package cnkgc.jredu.oop;
/**
 * 
 * @author vip宅男 创建日期:2018年01月09号
 *
 */
public class B5Paper implements Paper {


@Override
public void paper() {
System.out.println("组装一个B5纸盒");


}


}

package cnkgc.jredu.oop;
/**
 * 墨盒接口
 * @author vip宅男 创建日期:2018年01月09号
 *
 */
public interface Ink {
/**
* 墨盒
*/
void ink();
}

package cnkgc.jredu.oop;
/**
 * 
 * @author vip宅男 创建日期:2018年01月09号
 *
 */
public class ColorInk implements Ink {


@Override
public void ink() {
System.out.println("组装一个彩色墨盒");


}


}

package cnkgc.jredu.oop;
/**
 * 
 * @author vip宅男 创建日期:2018年01月09号
 *
 */
public class BlackInk implements Ink {


@Override
public void ink() {
System.out.println("组长一个黑色墨盒");


}


}

package cnkgc.jredu.oop;
/**
 * 打印类
 * @author vip宅男 创建日期:2018年01月09号
 *
 */
public class Printer {
private Ink ink;//墨盒
private Paper paper;//纸张
public Printer(Ink ink,Paper paper){
super();
this.ink=ink;
this.paper=paper;
}
public void printer(){
ink.ink();
paper.paper();
System.out.println("打印机开始工作");
}
}

package cnkgc.jredu.oop;
/**
 * 测试类
 * @author vip宅男 创建日期:2018年01月09号
 *
 */
public class PrinterTest {
public static void main(String[] args) {
ColorInk color=new ColorInk();
BlackInk black=new BlackInk();
A4Paper a4=new A4Paper();
B5Paper b5=new B5Paper();
Printer printer=new Printer(black, a4);
printer.printer();
System.out.println("**************************");
Printer printer1=new Printer(color,b5);
printer1.printer();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值