Declarar un método no heredable o final
Para aquellos programadores que llegan a .Net de la mano de PHP o Java, verán algo diferente el hecho de heredar métodos de clases. Cuando heredamos una clase en Java o PHP los métodos se sobrescriben redeclarándolos en la clase hija y cuando queremos evitar que una clase hija implemente un método, lo establecemos con la palabra reservada final.
Por ejemplo PHP se utilizaría para evitar la herencia:
public final function miMetodoNoHeredable() { //Codigo del metodo }
En el caso de java es muy similar:
public final void miMetodoNoHeredable() { //Codigo del metodo }
Pero en .Net aunque la base sigue siendo la misma es algo diferente. Para heredar un método, debemos de declarar el método como virtual y para declarar un método como final, usaremos la sentencia sealed (NotOverridable en VB). Para hacer un símil podríamos decir que la palabra reservada final de Java o PHP equivale en cierta medida a la sealed (NotOverridable en VB) de .Net.
Hay que apuntar que por defecto los métodos declarados en .Net son sealed, así que para heredarlos deberemos de declararlos como virtual e indicar a sus hijos que los métodos son override para que sobrescriban los valores del padre.
El caso de .net
// Ejemplo de C# public sealed void miMetodoNoHeredable() { //Codigo del metodo }
'Ejemplo de Visual Basic .Net o VB.Net Public NotOverridable Sub miMetodoNoHeredable() 'Codigo del metodo End Sub