大侠门、能不能说一下这个代码的执行步骤??    class Program
    {
        static void Main(string[] args)
        {
            Upan u = new Upan();
            PC pc = new PC();
            pc.Disk = u;
            pc.ReadData(); 
            pc.WriteData();
                        Console.ReadKey();
        }
    }    //电脑
    public class PC
    {
        public Mobile Disk
        {
            get;
            set;
        }
        public void ReadData()
        {
            Disk.du();
           
        }
        public void WriteData()
        {
            Disk.xie();
        }
    }    //移动设备
    public abstract class Mobile
    {
        public abstract void du();
        public abstract void xie();
    }    //U盘
    public class Upan : Mobile
    {        public override void du()
        {
            Console.WriteLine("U盘读数据");
        }        public override void xie()
        {
            Console.WriteLine("U盘写数据");
        }
    }    //移动硬盘
    public class YiDongDisk : Mobile
    {        public override void du()
        {
            Console.WriteLine("移动硬盘读数据");
        }        public override void xie()
        {
            Console.WriteLine("移动硬盘写数据");
        }
    }    //MP3
    public class MP3 : Mobile
    {
        public void Play()
        {
            Console.WriteLine("正在播放");
        }        public override void du()
        {
            Console.WriteLine("MP3读数据");
        }        public override void xie()
        {
            Console.WriteLine("MP3写数据");
        }
    }