练习:电脑、移动硬盘、U盘、MP3

 1     class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             /* 用多态来实现 将 移动硬盘或者U盘或者MP3插到电脑上进行读写数据 */
 6             //MobileDisk md = new MobileDisk();
 7             //UDisk u = new UDisk();
 8             //Mp3 mp3 = new Mp3();
 9             //Computer cpu = new Computer();
10             //cpu.CpuRead(u);
11             //cpu.CpuWrite(u);
12             //Console.ReadKey();
13 
14             MobileStorage ms = new UDisk();//new Mp3();//new MobileDisk();//new UDisk();
15             Computer cpu = new Computer();
16             cpu.Ms = ms;
17             cpu.CpuRead();
18             cpu.CpuWrite();
19             //Computer cpu = new Computer();
20             //cpu.CpuRead(ms);
21             //cpu.CpuWrite(ms);
22             Console.ReadKey();
23         }
24     }
1     /// <summary>
2     /// 抽象的父类
3     /// </summary>
4     public abstract class MobileStorage
5     {
6         public abstract void Read();
7         public abstract void Write();
8     }
MobileStorage
 1     public class MobileDisk : MobileStorage
 2     {
 3         public override void Read()
 4         {
 5             Console.WriteLine("移动硬盘在读取数据");
 6         }
 7 
 8         public override void Write()
 9         {
10             Console.WriteLine("移动硬盘在写入数据");
11         }
12     }
MobileDisk : MobileStorage
 1     public class UDisk : MobileStorage
 2     {
 3         public override void Read()
 4         {
 5             Console.WriteLine("U盘在读取数据");
 6         }
 7 
 8         public override void Write()
 9         {
10             Console.WriteLine("U盘在写入数据");
11         }
12     }
UDisk : MobileStorage
 1     public class Mp3 : MobileStorage
 2     {
 3         public override void Read()
 4         {
 5             Console.WriteLine("MP3在读取数据");
 6         }
 7 
 8         public override void Write()
 9         {
10             Console.WriteLine("Mp3在写入数据");
11         }
12 
13         public void PlayMusic()
14         {
15             Console.WriteLine("MP3自己可以播放音乐");
16         }
17     }
Mp3 : MobileStorage

 

 1     public class Computer
 2     {
 3         private MobileStorage _ms;
 4 
 5         public MobileStorage Ms
 6         {
 7             get { return _ms; }
 8             set { _ms = value; }
 9         }
10 
11         public void CpuRead()
12         {
13             Ms.Read();
14         }
15 
16         public void CpuWrite()
17         {
18             Ms.Write();
19         }
20     }
Computer

 

posted @ 2020-09-22 11:18  技术不够脸来凑  阅读(143)  评论(0)    收藏  举报