.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

posted @ 2017-07-27 14:16  僻邪剑谱  阅读(79)  评论(0)    收藏  举报