Java面向接口编程——开发打印机

题目:

墨盒:彩色、黑白

纸张类型:A4、B5

墨盒和纸张都不是打印机厂商提供的

打印机厂商要兼容市场上的墨盒、纸张

墨盒接口:

java 复制代码
public interface InkBox {
    String colorInkBox();
//    墨盒颜色

}

纸张接口:

java 复制代码
public interface Paper {
    String size();
//    纸张大小
}

A4纸类:

java 复制代码
package QuestionPpt03;

public class A4paper implements  Paper{
    public String size(){

        return "A4纸张";

    }
}

B5纸类:

java 复制代码
public class A5Paper implements Paper{
    public String size(){

        return "B5纸张";

    }
}

彩色墨盒类:

java 复制代码
public class CorlorfulInk implements  InkBox{
    public String colorInkBox(){


        return "彩色墨盒";
    }
}

黑白墨盒类:

java 复制代码
public class BlackInk implements InkBox{
     public String colorInkBox(){


         return "黑白墨盒";
     }
}

打印机类:

java 复制代码
public class Printer {


    public void print(Paper paper ,InkBox inkBox){
        System.out.println("在纸张大小为:"+paper.size()+"的纸上打印颜色为:"+inkBox.colorInkBox());
    }
}

测试类:

这里用了接口的多态,可以注意一下

java 复制代码
public class Test {
    public static void main(String[] args) {

//        打印机实例
        Printer pinter = new Printer();
//        A5纸:
        Paper a5Paper = new A5Paper();
//        A4纸:
        Paper a4paper = new A4paper();
//        黑白墨盒:
        CorlorfulInk corlorfulInk = new CorlorfulInk();

        InkBox blackInk = new BlackInk();
//        彩色墨盒:

//
        pinter.print(a5Paper,blackInk);
        pinter.print(a4paper,corlorfulInk);
        pinter.print(a4paper,blackInk);

    }
}
相关推荐
黑客老李几秒前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
开开心心就好8 分钟前
高效Excel合并拆分软件
开发语言·javascript·c#·ocr·排序算法·excel·最小二乘法
特立独行的猫a14 分钟前
Nuxt.js 中的路由配置详解
开发语言·前端·javascript·路由·nuxt·nuxtjs
勤奋的知更鸟26 分钟前
Java编程之原型模式
java·开发语言·原型模式
叶 落35 分钟前
[Java 基础]数组
java·java 基础
KK溜了溜了37 分钟前
JAVA-springboot log日志
java·spring boot·logback
珂朵莉MM39 分钟前
2021 RoboCom 世界机器人开发者大赛-高职组(初赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·职场和发展·机器人
香蕉炒肉1 小时前
Java优化:双重for循环
java·开发语言
傍晚冰川1 小时前
FreeRTOS任务调度过程vTaskStartScheduler()&任务设计和划分
开发语言·笔记·stm32·单片机·嵌入式硬件·学习
PingdiGuo_guo1 小时前
C++智能指针的知识!
开发语言·c++