用接口实现打印机打印功能
package JUL.JUL.JUL18; public interface Paper { public String paper(); }
package JUL.JUL.JUL18; public class A4Paper implements Paper { @Override public String paper() { return "A4"; } } package JUL.JUL.JUL18; public class B5Paper implements Paper { @Override public String paper() { return "B5"; } }
package JUL.JUL.JUL18; public interface Ink { public String ink(); }
package JUL.JUL.JUL18; public class ColorInk implements Ink{ @Override public String ink() { return "彩色"; } } package JUL.JUL.JUL18; public class GrayInk implements Ink { @Override public String ink() { return "黑白"; } }
package JUL.JUL.JUL18; 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 JUL.JUL.JUL18; import java.util.Collections; public class TestPrinter { 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(); } }