用多态实现模拟电脑-硬盘-U盘-MP3读写数据的功能
2016-10-04 19:26
344 查看
namespace 电脑_移动硬盘_U盘_MP3
{
class Program
{
static void Main(string[] args)
{
//用多态来模拟实现将移动硬盘或者U盘或者MP3插到电脑上进行读写数据
//MobileDisk md = new MobileDisk();
//UDisk u = new UDisk();
//Mp3 mp3 = new Mp3();
MobileStorage ms = new Mp3();//创建父类对象,用子类赋值
Computer cpu = new Computer();//创建电脑类对象
cpu.Ms = ms;
cpu.CpuRead();
cpu.CpuWrite();
Console.ReadKey();
}
}
/// <summary>
/// 抽象的父类--->可移动存储设备
/// </summary>
public abstract class MobileStorage
{
public abstract void Read();//抽象的方法
public abstract void Write();
}
/// <summary>
/// 子类--->移动硬盘
/// </summary>
public class MobileDisk : MobileStorage
{
public override void Read()
{
Console.WriteLine("移动硬盘在读取数据");//重写方法
}
public override void Write()
{
Console.WriteLine("移动硬盘在写入数据");//重写方法
}
}
/// <summary>
/// 子类--->U盘
/// </summary>
public class UDisk : MobileStorage
{
public override void Read()
{
Console.WriteLine("U盘在读取数据");
}
public override void Write()
{
Console.WriteLine("U盘在写入数据");
}
}
/// <summary>
/// 子类--->MP3
/// </summary>
public class Mp3 : MobileStorage
{
public override void Read()
{
Console.WriteLine("Mp3读取数据");
}
public override void Write()
{
Console.WriteLine("Mp3写入数据");
}
public void PlayMusic()
{
Console.WriteLine("MP3播放音乐");
}
}
/// <summary>
/// 电脑类
/// </summary>
public class Computer
{
MobileStorage _ms;//定义一个可移动存储设备父类的对象--->字段
public MobileStorage Ms//属性
{
get { return _ms; }
set { _ms = value; }
}
public void CpuRead()
{
Ms.Read();
}
public void CpuWrite()
{
Ms.Write();
}
}
}
相关文章推荐
- 接口的多态使用; 接口应用实例:U盘、打印机可以使用共同的USB接口,插入到电脑上实现各自的功能。
- [FFMPEG-1]最想实现的第一个功能-从mp3中提取pcm数据
- STM32F429的外接nandflash当作U盘实现数据记录功能
- [FFMPEG-2]最想实现的第一点一个功能-从mp3中提取pcm数据,重采样和加wav头
- Asp.net中XML文件作为中间件进行数据交换功能的实现(c#,sql2000)
- extremetable+hibernate实现分页 关于结合hibernate后台数据分页和eXtremeTable分页功能的使用
- 如何用VS里的部署实现在Duwamish7安装时的自动创建数据功能
- ASP+ADO实现数据读写简单示例
- 如何用存储过程实现下面功能:以表名为参数,查询出这个表中的所有数据
- JQuery 简便实现页面元素数据验证功能
- 使用Spring+Hibernate实现Oracle数据库BlOB数据类型的读写
- 用Swing实现数据表格功能
- 使用XML读写删除功能来实现资源文件配置
- BaiDu Mp3歌词同步功能实现
- 利用JQuery方便实现基于Ajax的数据查询、排序和分页功能
- 用最愚蠢的方法实现了CVC 数据同步功能...
- 设备驱动中环形缓冲区数据存储和读写同步的实现
- 用Swing实现数据表格功能
- asp.net中XML文件作为中间件进行数据交换功能的实现(c#,sql2000)
- 使用XML读写删除功能来实现资源文件配置