C#中抽象方法与虚拟方法的区别
学过C#的人应该都知道抽象方法与虚拟方法,而很多初学者对二者之间的区别并不是很了解。今天本文就来分析一下二者之间的区别。并附上实例加以说明。具体分析如下:
一、主要区别:
对于抽象方法,子类必须实现它。
对于虚拟方法,子类可以重写也可以不重写。
因此,两者约束不同
二、实例代码如下:
/*声明一个抽象类
*1.抽象类中可以包含变量
*2.抽象方法中无法声明方法体
*/
abstractclassAbsClass
{
stringname;
publicabstractvoidDisplayValue(stringvalue);
}
/*继承抽象类的子类必须实现抽象方法*/
classAbsClassInherited:AbsClass
{
/*使用override重写实现*/
publicoverridevoidDisplayValue(stringvalue)
{
Console.WriteLine(value.ToUpper());
}
}
/*声明虚拟函数
*/
classVirtClass
{
/*声明一个虚拟函数
虚拟函数必须实现方法体*/
publicvirtualvoidDisplayValue(stringvalue)
{
Console.WriteLine(value);
}
}
/*虚拟方法可以实现也可以不实现*/
classVirtClassInherited:VirtClass
{
/*使用override重写实现*/
publicoverridevoidDisplayValue(stringvalue)
{
Console.WriteLine(value.ToUpper());
}
}
/*声明一个接口
*1.接口中的方法必须是公用的
*2.接口中不允许有变量
*3.接口中的方法不允许有方法体
*/
interfaceIAbs
{
voidDisplayValue(stringvalue);
}
希望本文所做的分析对大家的C#程序设计能有所帮助。
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短