C# 抽象类练习(命名不规范)
C# 抽象类练习(命名不规范)
using System;
namespace 抽象类练习
{
class Program
{
static void Main(string[] args)
{
U盘 U = new U盘();//实例化
移动硬盘 Y = new 移动硬盘();//实例化
MP3 M = new MP3();//实例化
Console.WriteLine("==================");
电脑 DU = new 电脑(U);//实例化
DU.Cpu读取();//调用方法
DU.Cpu写入();//调用方法
Console.WriteLine("==================");
电脑 DY = new 电脑(Y);
DY.Cpu读取();
DY.Cpu写入();
Console.WriteLine("==================");
电脑 DM = new 电脑(M);
DM.Cpu读取();
DM.Cpu写入();
Console.ReadKey();
}
}
abstract class 可移动设备 //抽象类
{
public abstract void Read();//抽象方法
public abstract void Write();//抽象方法
}
class U盘 : 可移动设备 //继承
{
public override void Read()
{
Console.WriteLine("U盘读取.");
}//重写
public override void Write()
{
Console.WriteLine("U盘写入.");
}//重写
}
class 移动硬盘 : 可移动设备
{
public override void Read()
{
Console.WriteLine("移动硬盘读取.");
}
public override void Write()
{
Console.WriteLine("移动硬盘写入.");
}
}
class MP3 : 可移动设备
{
public override void Read()
{
Console.WriteLine("MP3读取.");
}
public override void Write()
{
Console.WriteLine("MP3写入.");
}
}
class 电脑
{
private 可移动设备 _k;//字段
public 电脑(可移动设备 k)//构造函数
{
this._k = k;
}
public void Cpu读取()//方法
{
_k.Read();//调用方法
}
public void Cpu写入()
{
_k.Write();
}
}
}输出结果:
