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

来源:互联网 发布:名赛公司取名软件 编辑:程序博客网 时间:2024/05/23 16:54

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

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.csnamespace what{    public class Ustorage:DevcieFather  //继承父类    {        public override void ReadDevice()        {            Console.WriteLine("U device read");        }        public override void WriteDevice()        {            Console.WriteLine("U device write");        }    }}MPstorage.csnamespace 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.csnamespace what // 跟父类没有继承关系 ,父类是其一个属性;用字段表示也可以{  public  class ComputerDev    {      public   DevcieFather DE  //  父类是其中的一个子类        {            get;            set;        }       public  void ReadD()        {            this.DE.ReadDevice();        }       public void WriteD()       {           this.DE.WriteDevice();       }    }}





原创粉丝点击