.Net virtual与abstract区别
简单记录下:
1、virtual修饰的方法必须有实现(哪怕是仅仅添加一对大括号),而abstract修饰的方法一定不能实现;
2、virtual可以被子类重写,而abstract必须被子类重写;
3、如果类成员被abstract修饰,则该类前必须添加abstract,因为只有抽象类才可以有抽象方法;
4、无法创建abstract类的实例,只能被继承无法实例化;
5、C#中如果要在子类中重写方法,必须在父类方法前加virtual,在子类方法前添加override,这样就避免了程序员在子类中不小心重写了父类方法;
6、abstract方法必须重写,virtual方法必须有实现(即便它是在abstract类中定义的方法)
来自:http://www.cnblogs.com/wang7/archive/2012/04/17/2453624.html

浙公网安备 33010602011771号