使用面向对象编程模拟:设计一个电脑对象,可以安装两个USB 设备

鼠标:安装时可以完成接入,调用点击功能,拔出功能

键盘:安装时可以完成接入,调用打字功能,拔出功能

步骤:这两个共有的功能可以创建一个接口

package com.itheima.demo2;
/*** USB接口 == 规范*/
public interface USB {//插入,拔出void connect();void unconnect();}

其次,在分别创建一个鼠标(Mouse)类,键盘(keyBoard)类

package com.itheima.demo2;/*** 实现类*/public class keyBoard implements USB{private String name;public keyBoard(String name) {this.name = name;}@Overridepublic void connect(){System.out.println(name + "成功连接了电脑~");}/*** 独有功能*/public void keyDown(){System.out.println(name + "敲击了,老弟666~~~");}@Overridepublic void unconnect(){System.out.println(name + "成功从电脑拔出了~");}public String getName() {return name;}public void setName(String name) {this.name = name;}}
package com.itheima.demo2;
/*** 实现类*/
public class Mouse implements USB{private String name;public Mouse(String name) {this.name = name;}@Overridepublic void connect(){System.out.println(name + "成功连接了电脑~");}/*** 独有功能*/public void dbClick(){System.out.println(name + "双击点亮小红心~~~");}@Overridepublic void unconnect(){System.out.println(name + "成功从电脑拔出了~");}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

在创建一个电脑对象

package com.itheima.demo2;public class computer {private String name;public computer(String name) {this.name = name;}public void start(){System.out.println(name + "开机了~~");}/*** 提供安装USB设备的入口* @return*/public void installUSB(USB usb){//多态:usb == 可能是鼠标,可能是键盘usb.connect();//  独有功能:先判断,再强转if(usb instanceof keyBoard){keyBoard k = (keyBoard) usb;k.keyDown();}else if(usb instanceof Mouse){Mouse m = (Mouse) usb;m.dbClick();}usb.unconnect();}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

最后做一个测试类验证是否正确

package com.itheima.demo2;/*** 目标:USB设备虚拟* 1.定义USB接口:接入,拔出* 2.定义;两个USB是实现类:鼠标,键盘* 3.创建一个电脑对象,创建USB设备对象,安装启动*/public class Test {public static void main(String[] args) {//创建电脑对象computer c = new computer("外星人");c.start();//创建鼠标对象,键盘对象USB U = new keyBoard("双飞燕");c.installUSB(U);USB M = new Mouse("爱国者");c.installUSB(M);}
}

多态综合案例——电脑的USB 接口相关推荐

  1. 计算机的USB接口可以扩展吗,电脑的USB接口不够用怎么办?别急,我来支招!

    原标题:电脑的USB接口不够用怎么办?别急,我来支招! 现如今电脑已成为人们最常用的办公用品,如果平时工作生活中遇到电脑USB接口不够用的问题,应该如何解决? U盘.鼠标.键盘.笔记本散热器等,都是常 ...

  2. 台式计算机usb接口无反应6,如何解决电脑的USB接口没反应,教您如何解决

    很多用户在使用还能电脑的时候,都需要用到移动设备等,但是不少用户在使用的过程中会遇到电脑USB接口不能用的情况,将U盘连接USB接口没反应是电脑常见问题.这是怎么回事,下面小编介绍下电脑USB接口不能 ...

  3. 台式计算机usb接口无反应6,如何解决电脑的USB接口没反应,详细教您如何解决

    一般台式电脑主机前后都会有USB接口,后面的USB接口一般都是插鼠标.键盘的,前面的USB接口是我们平时常用的.但是有些时候发现电脑的USB接口突然不能使用了,,电脑USB接口没反应怎么办?今天小编就 ...

  4. 计算机实施usb存储设备管理策略,关于办公电脑的USB接口管控二三点

    关于办公电脑的USB接口管控二三点(网课学习笔记) 一:考虑到防病毒和保密的需求,公共机房和办公用机都希望限制使用U盘等移动设备.其实限制计算机使用U盘有几种方法,简单说明如下: 1.修改bios,将 ...

  5. usb接口供电不足怎么处理? 刚买的电脑为什么usb接口会供电不足?怎么解决?

    1.外接电源法: 在使用大功率USB设备时,必须为其配备单独的外接电源,这样才能保证USB设备和计算机系统的稳定. 2.接口替换法:一旦USB设备无法从USB接口中获得足够的动力之源时,换用其他消耗功 ...

  6. k宝无法连接计算机,农行二代K宝插电脑上显示无法识别怎么办? 驱动已正确安装了,电脑的USB接口插其他U盘什么的都正常的...

    我的给你的一模一样,我弄了半天刚弄好.我给你的网址中国农业银行去里面看你K宝是几代的,下载个驱动安装了以后,有重启提示,重启就OK了,电脑开机后自动安装K宝,完成后自己随便拔K宝,想拔多少次就拔多少次 ...

  7. 接口多态的综合案例——笔记本电脑

    文章目录 1.1 笔记本电脑 1.2 案例分析 1.3 案例实现 1.1 笔记本电脑 笔记本电脑(laptop)通常具备使用USB设备的功能.在生产时,笔记本都预留了可以插入USB设备的USB接口, ...

  8. 【java养成】:案例(模拟银行新用户现金业务办理、USB接口程序设计、身份证校验位和身份提取)

    案例1:模拟银行新用户现金业务办理 实验内容: 1)   银行新用户开户 2)   欢迎用户光临和欢迎用户下次光临 3)   存钱 4)   取钱 案例代码: Bank类: package cn.Ba ...

  9. usb接口供电不足_电脑USB接口不够用?来试试ORICO条纹hub扩展器吧

    很多人的电脑USB接口不够用,特别是夏天的时候,外接几个桌面小风扇,然后再接一个无线键鼠接收器,或者再接上一个SSD,这样电脑的USB接口就被占用的满满的,特别是一些笔记本电脑,有限的USB接口永远都 ...

最新文章

  1. Drupal中的分类(Taxonomy)用法 (转)
  2. struct 模块 把一个类型,如数字,转成固定长度的bytes
  3. kafka环境安装及简单使用(单机版)
  4. C# 读取Excel文件,并写入word模板文档
  5. 脚本 api_从脚本到预测API
  6. 肖仰华 | 知识图谱落地的基本原则与最佳实践
  7. 如何禁用和启用mysql外键约束
  8. Atitit 知识与数据 信息 加工方法总结 目录 1.1. 信息加工是指通过判别、筛选、分类、排序、分析和研究等一系列过程 1 1.2. 多种聚合方法 1 2. 首先通过聚类信息 专题化 分组聚
  9. paip.c3p0 数据库连接池 NullPointerException 的解决...
  10. 三元一次方程组步骤_怎样解三元一次方程组 50道三元一次方程组计算题及答案过程...
  11. 手机长时间不用自动断网_手机自动断网怎么回事
  12. 省钱兄同城跑腿小程序源码uniapp前端模版源码(小程序+APP+H5)
  13. 聊一聊微博新知博主这件事,看看赚钱方式有哪些?
  14. Win7安装CAD出现错误1606 最简单的解决方法
  15. 用html中表单标签实现QQ登录注册静态页面
  16. 【html+css+js】用前端做一个视频播放器页面
  17. 我怎么看技术人员去创业公司这件事
  18. 压在心底慢慢体会__珍藏的句子
  19. 绝地腾讯手游登入显示服务器满了,绝地求生刺激战场注册已满什么意思 注册已满解决方法详解[多图]...
  20. 基于DDD(领域驱动设计)的微服务设计实例

热门文章

  1. 阿里云ECS服务器配置怎么选?
  2. 白炽灯的用途和工作原理
  3. unity 如何实现一个日志上报系统
  4. 华为Mate40 Pro/Pro+正式发布 价格曝光
  5. 【shell】shell创建虚拟环境virtualenv(-bash: virtualenv: command not found)
  6. 在Centos系统下创建与Windows的共享文件夹
  7. oracle vm 鼠标切换,VirtualBox的Linux虚拟机文本模式和图形模式的切换问题
  8. 74HC245三态输出八路信号收发器
  9. Uefi ABL读取XBL设置的标志位
  10. 世界环境日 | 始祖数字化可持续发展峰会就在6.5!