using System;
namespace _13_电脑_移动硬盘_MP3
{
class Program
{
static void Main(string[] args)
{
MobileStorage ms = new MobileDisk();
Computer cpu = new Computer();
cpu.Ms = ms; //对属性赋值
cpu.CpuRead();
cpu.CpuWrite();
//Computer cpu = new Computer();
//cpu.CpuRead(ms); 向方法中传入参数
//cpu.CpuWrite(ms);
Console.ReadKey();
//Console.WriteLine("Hello World!");
}
public abstract class MobileStorage
{
public abstract void Read();
public abstract void Write();
}
public class MobileDisk: MobileStorage
{
public override void Read()
{
Console.WriteLine("移动硬盘在读取");
}
public override void Write()
{
Console.WriteLine("移动硬盘在写入");
}
}
public class Udisk : MobileStorage
{
public override void Read()
{
Console.WriteLine("U盘在读取");
}
public override void Write()
{
Console.WriteLine("U盘在写入");
}
public class MP3 : MobileStorage
{
public override void Read()
{
Console.WriteLine("MP3在读取");
}
public override void Write()
{
Console.WriteLine("MP3在写入");
}
public void PlayMusic()
{
Console.WriteLine("MP3在播放");
}
}
}
//public class Computer
//{
// public void CpuRead(MobileStorage ms)
// {
// ms.Read();
// }
// public void CpuWrite(MobileStorage ms)
// {
// ms.Write();
// }
//}
public class Computer
{
private MobileStorage _ms; //通过属性拿到父类
public MobileStorage Ms { get => _ms; set => _ms = value; }
public void CpuRead()
{
Ms.Read();
}
public void CpuWrite()
{
Ms.Write();
}
}
}
}
抽象类实现多态
最新推荐文章于 2024-04-02 19:10:23 发布