关于面向接口编程之一
来源:互联网 发布:s8不祥之刃符文 知乎 编辑:程序博客网 时间:2024/04/29 07:20
写之前一直都在犹豫要写点什么。看很多大神都在写博客而且还是技术含量很高的博客,我这个小白也是蠢蠢欲动啊,那么就让我从面向接口开始吧
面向接口的编程应该是一个不是很容易掌握的知识点,在这里记录下自己的点点滴滴吧
需求:现在定义一个鼠标类,一个键盘类,一个接口,键盘和鼠标都需要用到接口。定义一个主板类。主板是负责操作键盘和鼠标
代码如下:
定义的接口如下:之所以定义接口因为鼠标和键盘都有功能,定义一种规范而已
package com.mywork._01.inter;public interface IUSB {/** * 定义一个方法,是具体什么操作 */void play();}定义的键盘类如下:
package com.mywork._01.inter;public class KeyBoard implements IUSB {@Overridepublic void play() {System.out.println("键盘在工作");}}定义的鼠标类如下:
package com.mywork._01.inter;public class Mouse implements IUSB {@Overridepublic void play() {System.out.println("鼠标在移动");}}现在定义一个主板类,功能是整合鼠标和键盘
package com.mywork._01.inter;import java.util.HashMap;import java.util.Map;/** * 主板类 * @author 张凌飞 * 2017-10-4 */public class MotherBoard {/** * 定义一个map集合,根据key-value去赋值和取值操作 */private Map<String,IUSB> plugins = new HashMap<>();/** * 是把不同的对象装进去 * @param name key值 * @param value 体现了面向接口用的是IUSB */public void install(String name,IUSB value){plugins.put(name, value);}/** * 调用这个方法体现出在主板上的不同功能 */public void doWork(){for (IUSB usb : plugins.values()) {usb.play();}}}现在定义一个测试类去测试是否符合咱们的需求
package com.mywork._01.inter;public class App {public static void main(String[] args) {MotherBoard mo = new MotherBoard();Mouse m = new Mouse();mo.install("鼠标", m);//把鼠标装进去KeyBoard k = new KeyBoard();mo.install("键盘", k);//把键盘装进去mo.doWork();//调用主板方法看是否都在工作}}最后的结果如下:
阅读全文
0 0
- 关于面向接口编程之一
- 关于面向接口编程
- [Chrome]关于面向接口编程的应用
- 面向接口编程之一——思想基础
- 关于什么叫面向接口编程(转自新博客)
- 挺不错的一篇关于面向接口编程的文章
- 面向接口 的编程
- 面向接口的编程
- 面向接口编程(摘)
- 面向接口编程
- 面向接口编程详解
- 面向接口编程
- 面向接口编程
- 面向接口的编程
- 小议面向接口编程
- 面向接口编程知识
- java面向接口编程
- 面向接口编程详解
- 基于Python单向链表实现尾部、任意位置添加,删除
- 【图像融合】基于小波变换的图像融合
- 51nod 1290 Counting Diff Pairs(莫队算法)
- 创建不能双击打开也不能删除的文件夹
- Mysql之查询
- 关于面向接口编程之一
- POJ 2155 Matrix 3468 A Simple Problem with Integers
- matrix (dp)
- 制作可启动DOS优盘
- Java 类成员初始化顺序
- 浅析data、text、bss段
- 找工作之中读老子
- 网格顶点方向的计算(一种新的面积加权方法)
- 把本地文件夹映射成磁盘