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();
}
}