首页 > Windows开发 > 详细

C#中virtual与abstract的区别

时间:2019-09-10 15:24:31      阅读:86      评论:0      收藏:0      [点我收藏+]

 C# virtua 关键字用于修改方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。 例如,此方法可被任何继承它的类替代。

   不能将C# virtual修饰符与以下修饰符一起使用:static   abstract   override 

   C#的virtual 和 abstract经常让人混淆,这两个限定词都是为了让子类进行重新定义,覆盖父类的定义。用法上区别如下:

  1. virtual修饰的方法必须有方法实现(哪怕只有一对大括号),abstract修饰的方法不能有实现。
  2. virtual可以被子类重写,abstract必须被子类重写
  3. 如果类中的某一函数被abstact修饰,则类名也必须用abstact修饰
  4. 用abstract修饰的类只能被继承不能够被实例化
  5. C#中如果准备在子类重写父类的方法,则该方法在父类中必须用virtual修饰,在子类中必须用overide修饰,避免了程序员在子类中不小心重写了父类父类方法。

 

C#中virtual与abstract的区别

原文:https://www.cnblogs.com/weilei/p/11497427.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!