1. La palabra clave virtual puede declarar una función de clase base como un método virtual. público virtualvoid myVirtualMethod(){}
2. También puedes declarar el atributo como virtual.
público virtual int iCount {obtener; establecer}
3. Las funciones virtuales se pueden anular en clases derivadas. Utilice la anulación de palabras clave.
4. En Java, todas las funciones son virtuales, pero C# es diferente, excepto los constructores, las funciones en C# no son virtuales de forma predeterminada y C# requiere que se use la clave de anulación al reescribir funciones en clases derivadas, declaraciones de visualización.
5. El beneficio de anular la declaración explícita es que si el nombre del método de la clase derivada es ligeramente diferente inadvertidamente de la clase base, C++ ignorará el problema, pero en C# se producirá un error de compilación porque la función se ha marcado como anulación.
-