今天就跟大家聊聊有关C#中抽象类与抽象方法的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1.代码
class Program
{
static void Main(string[] args)
{
for (int i = 1; i < 10; i++)
{
if (i % 3 == 1)
{
StorageDevice storge1 = new Upan("sandisk--" + i.ToString());
storge1.Inputdevice();
storge1.WriteDataToDevice();
}
else if (i % 3 == 2)
{
StorageDevice storge2 = new YingPan("westdata--" + i.ToString());
storge2.Inputdevice();
storge2.WriteDataToDevice();
}
else if (i % 3 == 0)
{
StorageDevice storge3 = new MobliePhone("iphone--" + i.ToString());
storge3.Inputdevice();
storge3.WriteDataToDevice();
}
}
Console.ReadKey();
}
}
abstract class StorageDevice
{
public abstract void Inputdevice();
public abstract void WriteDataToDevice();
}
class Upan : StorageDevice
{
public Upan(string name)
{
this.Name = name;
}
private string Name;
public override void Inputdevice()
{
Console.WriteLine("U pan ({0}) input the computer.....", Name);
}
public override void WriteDataToDevice()
{
Console.WriteLine("U pan ({0}) write data.....", Name);
}
}
class MobliePhone : StorageDevice
{
private string Name;
public MobliePhone(string name)
{
this.Name = name;
}
public override void Inputdevice()
{
Console.WriteLine("Mobile Phone ({0}) input the computer....", Name);
}
public override void WriteDataToDevice()
{
Console.WriteLine("Mobile Phone ({0}) write data....", Name);
}
}
class YingPan : StorageDevice
{
public YingPan(string name)
{
this.Name = name;
}
public string Name { get; private set; }
public override void Inputdevice()
{
Console.WriteLine("Ying pan ({0}) input the computer...", Name);
}
public override void WriteDataToDevice()
{
Console.WriteLine("Ying pan ({0}) write data...", Name);
}
}
2. 运行结果:

看完上述内容,你们对C#中抽象类与抽象方法的区别是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注天达云行业资讯频道,感谢大家的支持。