JavaOOP 实现墨盒颜色的多态案列

来源:互联网 发布:手机淘宝店标怎么上传 编辑:程序博客网 时间:2024/04/29 05:12
package hello5墨盒的颜色;public class A4 implements Paper{@Overridepublic String getSize() {return "A4";}}package hello5墨盒的颜色;public class B5 implements Paper{@Overridepublic String getSize() {// TODO 自动生成的方法存根return "B5";}}package hello5墨盒的颜色;public class ColorInkBox implements InkBox{@Overridepublic String getColor() {return "彩色";}}package hello5墨盒的颜色;public class GrayInBox implements InkBox{@Overridepublic String getColor() {return "黑白";}}package hello5墨盒的颜色;/** * 墨盒的接口 * @author Administrator * */public interface InkBox {/** * 得到墨盒的颜色 * @return */    String getColor();}package hello5墨盒的颜色;/** * 纸张的接口 * @author Administrator * */public interface Paper {/** * 得到纸张的大小 * @return */   String getSize();}package hello5墨盒的颜色;/** * 打印机类 * @author Administrator * */public class Printer {    InkBox inkBox;//墨盒    Paper pePaper;//纸张    /**     * 设置打印机墨盒     * @param inkBox     */public void setInkBox(InkBox inkBox) {this.inkBox = inkBox;}/** * 设置打印机纸张 * @param pePaper */public void setPePaper(Paper pePaper) {this.pePaper = pePaper;}    public void print(){System.out.println("使用"+inkBox.getColor()+"墨盒"+pePaper.getSize()+"纸张上打印.");}}package hello5墨盒的颜色;public class Test {public static void main(String[] args) {//1定义打印机InkBox inkBox=null;Paper paper=null;Printer printer=new Printer();//使用黑白墨盒在A4纸张上打印inkBox=new GrayInBox();paper=new A4();printer.setInkBox(inkBox);printer.setPePaper(paper);printer.print();//使用彩色墨盒在B5上打印inkBox=new ColorInkBox();paper=new B5();printer.setInkBox(inkBox);printer.setPePaper(paper);printer.print();//使用彩色墨盒在A4纸张上打印inkBox=new ColorInkBox();paper=new A4();printer.setInkBox(inkBox);printer.setPePaper(paper);printer.print();}}

0 0