c#中abstract和virtual的区别

共同点:

1、都是用来修饰父类;

2、如果用来修饰方法,前面不能加private(毕竟是要被继承的,private的继承不了),虚方法和抽象方法都不能用private;

区别:

1、abstract是抽象的,抽象方法必须在抽象类中,抽象方法不能有方法主体,抽象方法必须要被继承的子类重新,不重写会报错;

2、virtual是虚拟的,虚方法必须要有方法主体,被继承的子类可以重写虚方法,也可以不重写

原文地址:https://www.cnblogs.com/qingfenglin/p/13025113.html