用多态来实现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();
用多态来实现U盘,Mp3,移动硬盘和电脑的对接,读取写入数据。的更多相关文章
- VMware 中如何打开U盘弹出U盘或者移动硬盘的(两种方法)
1.U盘如下,插入后都是直接在win里面显示的 2.选择连接u盘 3.u盘就可以在虚拟机里面显示了 4.弹出则选择断开连接 扩展:如果无效:请参考这种方法 (给虚拟机分配一个临时硬盘,然后设置这个临时 ...
- 在CentOS 6.x中支持exfat格式的U盘(移动硬盘)
参考资料:http://linux.cn/article-1503-1.html CentOS系列一直没有默认支持使用exfat格式的大容量U盘(移动硬盘),但可以通过添加fuse-exfat模块来支 ...
- Mac技巧之让U盘、移动硬盘在苹果电脑和Windows PC都能识别/读写,且支持4GB大文件:exFAT格式
如果您的 U 盘.移动硬盘既要用于 PC 又要用于苹果电脑,Mac OS X 系统的 HFS+ 和 Windows 的 NTFS 格式显然都不行……HFS+ 在 Windows 下不识别,NTFS 格 ...
- 解决windows server 2003不认U盘或移动硬盘
解决windows server 2003不认U盘或移动硬盘1.进入命令提示符环境(也就是DOS) 2.进入DISKPART程序 3.输入AUTOMOUNT ENABLE指令 4.OK,下次USB硬盘 ...
- 用U盘与移动硬盘制作WIN7启动盘(亲自实践)
昨晚帮一个娃娃用移动硬盘里面的一个分区帮他制作成一个win7系统盘,为了以后万一换系统的时候方便.我自己有一个U盘坐的启动盘,移动硬盘没有倒腾过,看网上N多都是相互抄,制作都是WINPE系统的,相当蛋 ...
- Linux或树莓派3——挂载U盘、移动硬盘并设置rwx权限
话说最近在树莓派上搭建了一个owncloud,因为树莓派的存储空间有限,就插了个16G的U盘,然后设置成开机自动挂载.这里稍微注意一下的是U盘的格式最好不要NTFS,因为一般情况下NTFS格式的文件系 ...
- 树莓派挂载和卸载U盘或移动硬盘
通常我们在 /mnt 或 /media 目录下新建一个目录udisk作为挂载点 sudo mkdir /mnt/udisk 1.手动挂载: 挂载命令: sudo mount -o uid=pi,gid ...
- XP禁用了U盘和移动硬盘方法
会不会是你XP禁用了U盘和移动硬盘下面这些是任何禁用U盘的!你自己反着试下嘛!方法一,BIOS设置法(快刀斩乱麻法) 进入BIOS设置,选择“Integrated Peripherals”选项,展开后 ...
- CentOS提示::unknown filesystem type 'ntfs'自动挂载NTFS分区的U盘或者移动硬盘
CentOS默认源里没有NTFS-3G,想要添加ntfs支持,无非是自己下载编译安装或者加源yum安装.重新安装了一个CentOS7,用的是添加aliyun的epel源来yum安装的方式,简单易行. ...
随机推荐
- nodejs 针对 mysql 设计的原型库,支持事务/共享多次/单次查询
//通过this访问内置流程对象, 在每个流程中都能使用 //this.conn => mysql-connection //this.results => 整个流程数已经返回的值 //t ...
- openresty 前端开发进阶一之http后端
做前端开发,大多数情况下,都需要跟后端打交道,而最常见的方式则是通过http请求,进行通信. 在openresty中,通过http跟后端整合通信的方式又很多种,各有各的好处,可以根据情况交叉使用 1. ...
- Delphi的基于接口(IInterface)的多播监听器模式(观察者模式 )
本文来自:http://www.cnblogs.com/hezihang/p/6083555.html Delphi采用接口方式设计模块,可以降低模块之间的耦合,便于扩展和维护.本文提供一个实现基于接 ...
- [经验分享] 最近调试FT232H遇到的坑
cnblogs.com Yeats叶子 原创,转载请注明原始地址 - http://www.cnblogs.com/xiedidan/p/ft232h-poc.html Abstract FT232H ...
- [py]os.walk爬目录&sys.argv灵活获取参数
1, 遍历目录 os.walk('/tmp') os.next() 2,sys.argv ######################################## py@lanny:~/t ...
- Linux Shell编程三
case分支条件语句. case "string" in pattern_1) commands ;; pattern_2) commands ;; *) commands ;; ...
- C# lambda表达式及初始化器
using System;using System.Collections.Generic; using System.Linq; namespace ConsoleApplication1d { c ...
- SQL SERVER提供了大量的WINDOWS和SQLSERVER专用的排序规则
初始选择结果 select * from WordDictionary 下面是按照汉字拼音排序 select * from WordDictionary order by word collate C ...
- JAVABEAN连接各数据库
1. 连接ACCESS( AccessBean.java) package access; import java.sql.*; public class AccessBean { String d ...
- Android Home键状态保存运用场景
当我们在一个Activity中有接收Intent过来的值,或者当前Activity有保存数据时候,如果此时不小心按到了Home键,然后没有及时回来而是运行了其它应用程序,当你想起来的时候,恐怕已经是几 ...