在C#的学习中,容易混淆virtual要领和abstract要领的使用,此刻来讨论一下二者的区别。二者都牵涉到在派生类中与override的共同使用。
一、Virtual要领(虚要领)
virtual 关键字用于在基类中修饰要领。virtual的使用会有两种情况:
情况1:在基类中界说了virtual要领,但在派生类中没有重写该虚要领。那么在对派生类实例的挪用中,该虚要领使用的是基类界说的要领。
情况2:在基类中界说了virtual要领,然后在派生类中使用override重写该要领。那么在对派生类实例的挪用中,该虚要领使用的是派生重写的要领。
二、Abstract要领(抽象要领)
abstract关键字只能用在抽象类中修饰要领,并且没有具体的实现。抽象要领的实现必需在派生类中使用override关键字来实现。