您的位置:首页 > 编程语言 > C#

C# 复习抽象类的使用,模拟移动设备的读写

2017-05-31 16:14 393 查看
移动设备包括很多种,他们的共同特点就是可以读写,可以写一个具有读写功能的父类(抽象类);然后子类继承并实现各自的读写功能。在声明子类对象时,将子类赋值给父类,通过该父类读写方法直接可以调用子类各自读写方法。

Program1:
namespace what
{
class Program
{
static void Main(string[] args)
{
Ustorage us = new Ustorage();
MPstorage mp = new MPstorage();
ComputerDev cd = new ComputerDev();

cd.DE = us;  // 把子类直接给父类,其他类 利用 父类调用函数
cd.ReadD();
Console.ReadKey();
}
}
}

Device.cs:
namespace what
{
public abstract class DevcieFather // 写一个读写的父类,两个方法
{
public abstract void ReadDevice();
public abstract void WriteDevice();
}
}

Ustorage.cs
namespace what
{
public class Ustorage:DevcieFather  //继承父类
{
public override void ReadDevice()
{
Console.WriteLine("U device read");
}
public override void WriteDevice()
{
Console.WriteLine("U device write");
}
}
}

MPstorage.cs
namespace what
{
public class MPstorage : DevcieFather //继承父类
{
public override void ReadDevice()
{
Console.WriteLine("Mp3 device read");
}
public override void WriteDevice()
{
Console.WriteLine("MP3 device write");
}
public void PlayMusic()
{
Console.WriteLine("Play the music");
}
}
}

Computer.cs
namespace what // 跟父类没有继承关系 ,父类是其一个属性;用字段表示也可以
{
public  class ComputerDev
{
public   DevcieFather DE  //  父类是其中的一个子类
{
get;
set;
}
public  void ReadD()
{
this.DE.ReadDevice();
}
public void WriteD()
{
this.DE.WriteDevice();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: