开发一个应用,模拟移动存储设备的读写,即计算机与U盘、MP3、移动硬盘等设备进行数据交换

提示:已知要实现U盘、MP3播放器、移动硬盘三种移动存储设备,要求计算机能同这三种设备进行数据交换,并且以后可能会有新的第三方的移动存储设备,所以计算机必须有扩展性,能与目前未知而以后可能会出现的存储设备进行数据交换。各个存储设备间读、写的实现方法不同,U盘和移动硬盘只有这两个方法,MP3Player还有一个PlayMusic方法

方案一:分别定义FlashDisk、MP3Player、MobileHardDisk三个类,实现各自的Read和Write方法。然后在Computer类中实例化上述三个类,为每个类分别写读、写方法。例如,为FlashDisk写ReadFromFlashDisk、WriteToFlashDisk两个方法。总共六个方法。

第一种,就是每个类的是独立的,与其它类没有任何的关系。这样,方法就可以按自己的想法随便写,很乱。接口就是一种规则,约束。让程序井然有序。

C#新手练习:开发一个应用,模拟移动存储设备的读写相关推荐

  1. 模拟移动存储设备的读写方案二

    方案二:定义抽象类MobileStorage,在里面写虚方法Read和Write,三个存储设备继承此抽象类,并重写Read和Write方法.Computer类中包含一个类型为MobileStorage ...

  2. Java程序:开发一个应用,模拟计算机对移动存储设备的读写,即移动存储设备有U盘、手机卡、移动硬盘、闪卡等设备

    开发一个应用,模拟计算机对移动存储设备的读写,即移动存储设备有U盘.手机卡.移动硬盘.闪卡等设备 public interface Mobile {void Read();void Write();} ...

  3. php做网站步骤_新手如何用PHP开发一个完整的网站?

    1.PHPer应具备的知识 (1)PHP知识: 熟练掌握基础函数,PHP语句(条件.循环),数组(排序.读取),函数(内部 构造),运算(数学 逻辑),面向对象(继承 接口 封装 多态静态属性)等. ...

  4. 适合新手:从零开发一个IM服务端(基于Netty,有完整源码)

    本文由"yuanrw"分享,博客:juejin.im/user/5cefab8451882510eb758606,收录时内容有改动和修订. 0.引言 站长提示:本文适合IM新手阅读 ...

  5. python开发一个区块链只需40多行

    40多行python代码开发一个区块链?可信吗?我们将通过Python 2动手开发实现一个迷你区块链来帮你真正理解区块链技术的核心原理.python开发区块链的源代码保存在Github. 尽管有人认为 ...

  6. php开发mvc教程,php开发一个简单的MVC

    本文通过实例为大家介绍用php开发一个简单mvc的方法,起到势砖引玉的作用,本文比较适合刚接触mvc的朋友. MVC其实就是三个Model,Contraller,View单词的简称. Model,主要 ...

  7. 探索 Python、机器学习和 NLTK 库 开发一个应用程序,使用 Python、NLTK 和机器学习对 RSS 提要进行分类

    挑战:使用机器学习对 RSS 提要进行分类 最近,我接到一项任务,要求为客户创建一个 RSS 提要分类子系统.目标是读取几十个甚至几百个 RSS 提要,将它们的许多文章自动分类到几十个预定义的主题领域 ...

  8. 有了 serverless,前端也可以快速开发一个 Puppeteer 网页截图服务

    更多云原生技术资讯可关注阿里巴巴云原生技术圈. Puppeteer 是什么? puppeteer 官网的介绍如下: Puppeteer is a Node library which provides ...

  9. 使用jQuery图表插件Sparklines来开发一个实用的网站PV(page view)实时监控应用

    日期:2011/11/14  来源:Terry jQuery sparklines是一个jQuery的图表插件,可以帮助你快速构建行内的小图表,今天我们将使用Sparklines开发一个动态监视首页P ...

最新文章

  1. 微信小程序地图的实现
  2. require用法php,php中的require到底是函数还是语法
  3. 【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
  4. 用POST方式获取Radio Button是否被选中的信息
  5. virtual方法(虚方法)与abstract(抽象方法)的区别
  6. python词云cannot open resource_centos flask验证码pil提示OSError: cannot open resource,问题解决方法...
  7. 【转】卖场开设社区便利店,不仅卖货,还有家政服务、售后衔接等(图)
  8. datetime2 数据类型
  9. 编码优先级表达的严重性
  10. CMM术语表详细说明
  11. JavaCV开发详解之27:使用javacv把视频切割成多个视频分片文件,以mp4为例,把视频切割成MP4分片文件
  12. html语言制作留言条,html怎么操作来实现留言板样式?(代码示例)
  13. java控制台贪食蛇_java中的贪食蛇例程
  14. android 蓝牙电话号码,Android拨打电话和蓝牙状态监听
  15. JavaScript高效学习方法,看完透彻了...最适合web前端初学者的学习方法
  16. opencv-python(cv2)——如何读取和保存中文路径图片(含代码)
  17. PostgreSql pg_rewind
  18. run vue task的项目报错:Error while running task C:\IT\xxxxxx:serve with message‘spawn vue-cli-service
  19. java怎么写桌面日历_Win7桌面怎么添加日历记事本
  20. #关于新建的文本文档(记事本)没有后缀名txt的问题的解决方法

热门文章

  1. 从HR系统到Windows AD域再到应用系统,如何自动化管理员工账号生命周期?
  2. 深度解析 | 支付和分账系统的前世今生
  3. 3ds Max实例教程-顽皮的小孩
  4. 哄女孩开心的搞笑短信
  5. 无法识别 移动固态硬盘_重装系统后无法识别移动固态硬盘 - 卡饭网
  6. 西数硬盘 黑、红、蓝、绿、紫不同颜色系列硬盘区别
  7. hg+rhodecode 安装配置教程
  8. 基于时间序列检测算法的智能报警实现
  9. 深度解析车载域控制器
  10. 实用 | 利用 aardio 配合 Python 快速开发桌面应用