首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

abstract与virtual申明的函数有什么区别?该怎么解决

2011-12-30 
abstract与virtual申明的函数有什么区别?如题![解决办法]abstract 是抽象,virtual 是虚方法,前都不能写实

abstract与virtual申明的函数有什么区别?
如题!

[解决办法]
abstract 是抽象,virtual 是虚方法,前都不能写实现代码,只是一个声明且子类必须实现他,后都可以写实现代码且子类可以不实现
[解决办法]
abstract表示这个函数必须被重写。否则子类还是抽象类,不能声明实例。
virtual表示函数允许被重载。
[解决办法]
abstract是必需要重写
virtual是可以被重写.
[解决办法]
比如如下的代码:

abstract class a
{
public abstract void a1();
public virtual void a2()
{

}
}
class b : a
{
/// <summary>
/// 一定要重写,因为基类中是abstract
/// </summary>
public override void a1()
{

}
/// <summary>
/// 可以不重写,因为基类中是virtual
/// </summary>
public override void a2()
{
base.a2();
}
}

热点排行