开发打印机
墨盒:彩色、黑白。纸张类型:A4、B5
墨盒和l纸张都不是打印机厂商提供的。打印机厂商要兼容市场上的墨盒、纸张

用向接口编扁程的方式开发
制定墨盒、纸张的约定或标
打印机厂商使用墨盒、纸张的标住开发打印机。其他厂商按照墨盒、纸张的标准生产墨盒、纸张

接口1:

    public interface InkBox {//墨盒接口public String color();}

实现类:

public class BlackBox implements InkBox{@Overridepublic String color() {return "用黑色墨盒";}
}
public class ColoursBox implements InkBox{@Overridepublic String color() {return "用彩色墨盒";}
}

接口2:

    public interface Paper {//纸张接口public String size();}

实现类:

    public class A4Parper implements Paper{@Overridepublic String size() {return "在A4纸打印";}}
    public class B5Parper implements Paper{@Overridepublic String size() {return "在B5纸打印";}}

创建打印机:

public class Printer {public static void print(InkBox inkBox,Paper paper){//打印机System.out.println(inkBox.color()+paper.size());}
}

测试类:

public class Test {public static void main(String[] args) {Printer.print(new ColoursBox(),new B5Parper());Printer.print(new BlackBox(),new A4Parper());}
}

结果:

    用彩色墨盒在B5纸打印用黑色墨盒在A4纸打印

面向接口编程经典案例之打印机相关推荐

  1. java 用面向接口编程的方式开发打印机_Java面向接口编程之简单工厂模式示例

    本文实例讲述了Java面向接口编程之简单工厂模式.分享给大家供大家参考,具体如下: 一 代码 interface Output { // 接口里定义的成员变量只能是常量 int MAX_CACHE_L ...

  2. Java面向接口编程的方式开发打印机(墨盒颜色,纸张大小)

    public interface InkBox {// 获取墨盒的颜色public String getColor();} public interface Paper {//获取纸张大小public ...

  3. java 用面向接口编程的方式开发打印机_Java“打印机”模型理解面向接口编程。实现接口定义类,接口实现类,核心“业务”类分离...

    接口定义类 IinkBox.java package printerDemo.iface; public interface IInkBox { public String getColor(); } ...

  4. 面向接口编程详解(一)——思想基础

    我想,对于各位使用面向对象编程语言的程序员来说,"接口"这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为 ...

  5. 面向接口编程详解(一)—— 思想基础

    我想,对于各位使用面向对象编程语言的程序员来说,"接口"这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为 ...

  6. 面向接口编程详解(三)——模式研究

    通过前面两篇,我想各位朋友对"面向接口编程"的思想有了一定认识,并通过第二篇的例子,获得了一定的直观印象.但是,第二篇中的例子旨在展示面向接口编程的实现方法,比较简单,不能体现出面 ...

  7. Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介、使用方法、经典案例之详细攻略

    Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介.使用方法.经典案例之详细攻略 目录 *args和**kwargs(设计不同数量的参数函数)的简介 1 ...

  8. C++面向接口编程和C++多态

    面向接口编程和C++多态 函数类型语法基础 函数三要素 函数指针 函数指针语法梳理 函数指针做函数参数 函数指针正向调用 函数指针反向调用 C动态库升级成框架案例 需求实现思路分析 编码实现 函数类型 ...

  9. 秒杀多线程第十六篇 多线程十大经典案例之一 双线程读写队列数据

    本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5136035 转载请标明出处,原文地址:http://blog.csdn.net/mo ...

最新文章

  1. SSE3 和 SSSE3 Intrinsics各函数介绍
  2. ExtJs异步ajax调用和同步ajax调用公用方法
  3. webpack开发Vue配置
  4. Docker小白到实战之开篇概述
  5. 如何使用新的Apache Http Client发出HEAD请求
  6. vs中html如何设计分页_如何在电路设计中使用负载线(Load Line)?
  7. 领域应用 | 从数据到智慧,知识图谱如何推动金融更智能?
  8. 青岛达内php培训多少钱_北京北京青岛椅群 多少钱
  9. 最小路径问题_BFS
  10. 测试开发必备技能-Jmeter二次开发
  11. 鸿蒙系统会有彩蛋吗,华为新系统亮点不断,一个新功能让人欢呼,升级后还有惊喜彩蛋...
  12. 计算机硬件无法启动不能读取文件,修复Windows出现的“文件或目录已损坏且无法读取”问题...
  13. 3600000毫秒等于多少小时_毫秒换算(秒与毫秒换算)
  14. Unity使用Aspose.Words创建表格和UI截图一起插入到Word中并保存到本地的一种解决方案
  15. Springboot 整合 Netty 实战
  16. DLang、Rust 以及 Golang 对比数据库操作方式
  17. 1张上海各阶层本科生真实工资表流出,戳穿了对年轻人最残忍的骗局
  18. 北京人在北京租房是什么感受?
  19. typescript是什么_为什么不应该害怕TypeScript
  20. of介词短语作定语_介词短语作定语附翻译版

热门文章

  1. 【一战成硕】西安电子科技大学833/834上岸经验贴
  2. Layui table表格单元格合并问题
  3. 如何查看论文来自哪个期刊! 教你一个又快又对的方法~~~
  4. eNSP模拟虚拟专用网(使用GRE协议)
  5. 平板电脑android7,老当益壮 NVIDIA SHIELD平板升级安卓7.0
  6. 开源分布式图数据库的思考和实践
  7. MP3文件信息编辑利器 - Mp3tag
  8. 华为服务器连接显示器节电模式,显示器黑屏显示省电模式怎么办_显示器黑屏显示省电模式如何解决...
  9. Pytest测试框架(五):pytest + allure生成测试报告
  10. pytest+allure实战