C#中Abstract和Virtual

简介: C#中Abstract和Virtual 在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。一、Virtual方法(虚方法)     virtual 关键字用于在基类中修饰方法。
在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。

一、Virtual方法(虚方法)

     virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况:

     情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。

     情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。

二、Abstract方法(抽象方法)

     abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现。抽象方法的实现必须在派生类中使用override关键字来实现。

接口和抽象类:

最本质的区别:抽象类是一个不完全的类,是对对象的抽象,而接口是一种行为规范。

目录
打赏
0
0
0
0
13
分享
相关文章
|
10月前
|
C#学习相关系列之abstract和virtual用法
C#学习相关系列之abstract和virtual用法
117 0
virtual和abstract关键字
virtual和abstract关键字
147 0
abstract class和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstract class)
111 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等