现在来讨论一下二者的区别

时间:2021-08-31 03:52:00

在C#的学习中,容易混淆virtual要领和abstract要领的使用,此刻来讨论一下二者的区别。二者都牵涉到在派生类中与override的共同使用。

一、Virtual要领(虚要领)

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

     情况1:在基类中界说了virtual要领,但在派生类中没有重写该虚要领。那么在对派生类实例的挪用中,该虚要领使用的是基类界说的要领。

     情况2:在基类中界说了virtual要领,然后在派生类中使用override重写该要领。那么在对派生类实例的挪用中,该虚要领使用的是派生重写的要领。

二、Abstract要领(抽象要领)

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