Declarar un método no heredable o final en php, java, vb y csharp
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:
//Ejemplo de php
public final function miMetodoNoHeredable() {
//Codigo del metodo
}
En el caso de java es muy similar:
// Ejemplo de java
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 csharp
public sealed void miMetodoNoHeredable() {
//Codigo del metodo
}
'Ejemplo de Visual Basic .Net o VB.Net
Public NotOverridable Sub miMetodoNoHeredable()
'Codigo del metodo
End Sub
Declarar un método no heredable o final en php, java, vb y csharp Leer más »