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

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

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();
       }
    }
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一枚努力的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值