练习:电脑、移动硬盘、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 }
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 }
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 }
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 }
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 }

浙公网安备 33010602011771号