用多态来实现U盘,Mp3,移动硬盘和电脑的对接,读取写入数据。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 多态模拟移动硬盘和U盘
{
    class Program
    {
        static void Main(string[] args)
        {
            //用多态来实现U盘,Mp3,移动硬盘和电脑的对接,读取写入数据。
            MobileTool mt = new UDisk();
            Computer cpu = new Computer();
            cpu.CpuRead(mt);
            cpu.CpuWrite(mt);
            Console.ReadKey();
        }
        /// <summary>
        /// 抽象的父类
        /// </summary>
        public abstract class MobileTool
        {
            public abstract void Read();
            public  abstract void Write();
        }
        public class UDisk : MobileTool
        {
            public override void Read()
            {
                Console.WriteLine("U盘读取成功");
            }
            public override void Write()
            {
                Console.WriteLine("U盘写入成功");
            }
        }
        public class Mp3Disk : MobileTool
        {
            public override void Read()
            {
                Console.WriteLine("Mp3读取成功");
            }
            public override  void Write()
            {
                Console.WriteLine("Mp3写入成功");
            }
            public void PlayMuisc()
            {
                Console.WriteLine("Mp3自己可以播放音乐");
            }
        }
        public class MobileDisk : MobileTool
        {
            public override void Read()
            {
                Console.WriteLine("移动硬盘读取成功");
            }
            public override void Write()
            {
                Console.WriteLine("移动硬盘写入成功");
            }
        }
        public class Computer
        {
            public void CpuRead(MobileTool mt)
            {
                mt.Read();
             }
            public void CpuWrite(MobileTool mt )
            {
                mt.Read();
            }
        }
    }
}

在computer抓取父类的方法有多种:可以方法中传递参数抓取,可以通过构造函数,也可以通过属性来抓取。

 static void Main(string[] args)
        {
            MobileTool mt = new UDisk();
            Computer cpu = new Computer();
            cpu.Mt = mt;
            cpu.CpuRead();
            cpu.CpuWrite();
            Console.ReadKey();
        }

     public class Computer
        {
            private MobileTool _mt;
            internal MobileTool Mt
            {
                get { return _mt; }
                set { _mt = value; }
            }
            public void CpuRead()
            {
                Mt.Read();
             }
            public void CpuWrite()
            {
                Mt.Read();
时间: 2024-10-09 19:53:19

用多态来实现U盘,Mp3,移动硬盘和电脑的对接,读取写入数据。的相关文章

win10读取不了U盘或者移动硬盘的解决方法

最近遇到了问题,刚装的win10系统,开始用着U盘.移动硬盘插上就能读取,可是最近插上没反应,但是插上重启电脑就可以 查便网上的所有方法总结下,以下几种 方法一:卸载驱动,然后重新连接外置硬盘 方法二:重新安装USB控制器. 方法三:禁用USB选择性暂停设置. 以上三种我都试了,不解决问题.链接:http://www.xitongcheng.com/jiaocheng/win10_article_13502.html 最后我的解决方案:手动排除启用了某种服务,导致不能识别U盘 1.同时按Win键

多态 模拟 移动硬盘 插入电脑 读写,方法1传参,方法2属性赋值

//多态 模拟 移动硬盘 插入电脑 读写,方法1传参,方法2属性赋值 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //多态 模拟 移动硬盘 插入电脑

在CentOS 6.x中支持exfat格式的U盘(移动硬盘)

参考资料:http://linux.cn/article-1503-1.html CentOS系列一直没有默认支持使用exfat格式的大容量U盘(移动硬盘),但可以通过添加fuse-exfat模块来支持,步骤如下: 1.下载fuse-exfat支持软件: exfat支持是通过fuse模块的方式支持的,其项目地址是: https://code.google.com/p/exfat/  ,当前版本是:1.0.1. 目前exfat的支持已经是全功能支持,支持读写. 可以下载源代码包,并自行使用scon

用U盘与移动硬盘制作WIN7启动盘(亲自实践)

昨晚帮一个娃娃用移动硬盘里面的一个分区帮他制作成一个win7系统盘,为了以后万一换系统的时候方便.我自己有一个U盘坐的启动盘,移动硬盘没有倒腾过,看网上N多都是相互抄,制作都是WINPE系统的,相当蛋疼,倒腾好之后,一怒之下我准备将个人操作过程写下来,供大家参考. 先说用U盘制作win7启动盘(win8我也试过做法同样) 1.首先你要先有一个win7操作系统的镜像文件,如果你连什么事镜像文件都不知道,那就被整换系统了,让别人帮忙吧.\(^o^)/~ 2.你的要有一个刻录软件,其实神马都可以的,只

U盘、移动硬盘引导启动安装linux系统【Centos 6.4 】

U盘.移动硬盘引导启动安装linux系统[Centos 6.4 ] U盘.移动硬盘引导启动安装linux系统[Centos 6.4 ]( rhel基本相同) 本文案例是我安装32系统的,64位时U盘单个文件大于4G不能fat32格式问题暂时没提供,有条件时一定研究下在补上,现在是老爷机. 6.0 .6.3live cd均试验过只是存放位置有差异.需要工具UltraISO软碟通,LiveCD.iso,Centos-6.X.iso(自己要安装的系统版本) 1.准备1个U盘或移动硬盘.(容量大小按需要

VMware 中如何打开U盘弹出U盘或者移动硬盘的(两种方法)

1.U盘如下,插入后都是直接在win里面显示的 2.选择连接u盘 3.u盘就可以在虚拟机里面显示了 4.弹出则选择断开连接 扩展:如果无效:请参考这种方法 (给虚拟机分配一个临时硬盘,然后设置这个临时硬盘的路径为U盘或者移动硬盘,具体参考这篇文章:http://www.cnblogs.com/dunitian/p/4707828.html)

Linux(CentOS)挂载NTFS格式的U盘、移动硬盘

以下操作均在root下执行的 1.U盘挂载 mkdir /mnt/usb //创建一个目录,用于挂载U盘 fdisk -l //查看系统中挂载的U盘,若系统有一块硬盘sdb1 代表你的U盘,/dev/sdb1表明机 器已识别U盘, mount /dev/sdb1 /mnt/usb //把U盘/dev/sdb1挂载到/mnt/usb目录下 cd /mnt/usb //进入U盘目录,即可查看U盘里内容 umount /mnt/usb 或者 umount /dev/sdb1 //卸载U盘 2.挂载移动

U盘、移动硬盘等弹出 “文件或目录损坏且无法读取” 实测解决办法

U盘跟其他的机器一样,使用久了难免会出故障,比如常见的弹出一个文件或目录损坏且无法读取的对话框,吓你一跳,整个U盘都损坏的意思,那里面的资料怎么办呢,所以很多人很着急,其实遇到这种情况一般都是之前使用不当造成的,比如在U盘还在读写的时候拔出了U盘,U盘在写入数据的时候停电了等都会容易造成这种故障,但幸好这种故障一般都能解决,而且能挽回里面的数据. 解决方案 今天博主就遇到了这样的问题,这里给出解决方案,亲测可行. 解决方法:利用系统自带的修复工具 CHKDSK 不管是 xp,win7 还是 wi

某天U盘插在笔记本打不开了,是U盘坏了还是电脑的问题?

五六月份忙着毕业设计与毕业论文,U盘在这个时候就是大功臣啦! 然而打印完最终版本论文上交后,再次把U盘插在自己的笔记本上读取失败了... 只有一个空白的图标,打不开,也无法格式化. 试着删除,拔了又插回去,反反复复.就是没有想到是电脑的问题.... 想着从大一用到大四都四年了,就让它退休了. 真的,它在某个角落躺了好久,直到今天突然要用到它,就抱着试一试的心态拿出来插入了公司的电脑. 神奇的是居然打开了,激动不已,然后才开始怀疑是电脑的问题~ 回家重新打开电脑还是那样无法读取... 接下来就是各