学过C#的人应该都知道抽象方法与虚拟方法,而很多初学者对二者之间的区别并不是很了解。今天本文就来分析一下二者之间的区别。并附上实例加以说明。具体分析如下:
一、主要区别:
对于抽象方法,子类必须实现它。
对于虚拟方法,子类可以重写也可以不重写。
因此,两者约束不同
二、实例代码如下:
abstract class AbsClass
{
string name;
public abstract void DisplayValue(string value);
}
class AbsClassInherited : AbsClass
{
public override void DisplayValue(string value)
{
Console.WriteLine(value.ToUpper());
}
}
class VirtClass
{
public virtual void DisplayValue(string value)
{
Console.WriteLine(value);
}
}
class VirtClassInherited : VirtClass
{
public override void DisplayValue(string value)
{
Console.WriteLine(value.ToUpper());
}
}
interface IAbs
{
void DisplayValue(string value);
}
希望本文所做的分析对大家的C#程序设计能有所帮助。



