c#多态的简单练习

来源:互联网 发布:微信mac安装包dmg 编辑:程序博客网 时间:2024/05/07 05:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 模拟优盘
{
    class Program
    {   
        //给移动存储设备为父类,两个抽象类为读写
        //移动硬盘继承fuli,抽象类读写
        //u盘继承父类,抽象读写
        //MP3继承父类,抽象读写,MP3自己的播放音乐函数
        //电脑类,读写函数,传父类对象进来,父类对象再调用读写函数
        static void Main(string[] args)
        {
            mobilestorage a = new mobileDisk();
            mobilestorage b = new Mp3();
            mobilestorage e = new uDisk();
            computer c = new computer();
            c.write(a);
            c.read(a);
            c.read(b);
            c.write(b);
            c.write(e);
            c.read(e);
            Console.ReadKey();
        }
        abstract public class mobilestorage //抽象类
        {
            abstract public void write();
            abstract public void read();
           
        }
         public class mobileDisk:mobilestorage
         {
             public override void write()
             {
                 Console.WriteLine("移动硬盘的写入");
             }
             public override void read()
             {
                 //throw new NotImplementedException();
                 Console.WriteLine("移动硬盘的读");
             }
         }
         public class uDisk : mobilestorage
         {
             public override void write()
             {
                 //throw new NotImplementedException();
                 Console.WriteLine("优盘的写入");
             }
             public override void read()
             {
                 //throw new NotImplementedException();
                 Console.WriteLine("优盘的读取");
             }
         }
         public class Mp3 : mobilestorage
         {
             public override void write()
             {
                 //throw new NotImplementedException();
                 Console.WriteLine("MP3的写入");
             }
             public override void read()
             {
                 //throw new NotImplementedException();
                 Console.WriteLine("MP3的读取");
             }

         }
         public class computer
         {
             public void write(mobilestorage ms)
             {
                 ms.write();
             }
             public void read(mobilestorage ms)
             {
                 ms.read();
             }
         }
    }
}

0 0
原创粉丝点击