Como consecuencia de la herencia, debemos disponer de la posibilidad, porque es una de sus necesidades, de poder reescribir o reemplazar métodos de la clase base, con el fin de sustituirlos.
Pero también podría ser que nos interese que un método de nuestra clase no pueda ser reescrito.
De esa forma es como se va tejiendo las características de las clases en la herencia.
Para ello se dispone en Vb de la posibilidad de reescribir mediante el uso de
Overridable Puede ser reemplazado.
Overrides Está reemplazando a un método Overrides.
NotOverridable Impide que se reemplace.
MustOverride Indica que debe escribirse éste método en la clase derivada de forma obligatoria. Esto implica que la clase debe declararse de forma obligatoria como MustInherit, ya que es obligatorio desarrollar dicho método.
Cuando se hereda una clase MustInherit automáticamente VB escribe los métodos declarados en la clase base como MustOverride.
MustInherit Class ClaseBase
Public MustOverride Sub MetodoQueDebeSerEscrito()
Public Overridable Sub MiMetodo()
Console.WriteLine("Método que se puede reescribir")
End Sub
Public Sub UsandoMyClass()
MyClass.MiMetodo() ' con MyClass
End Sub
End Class
Esta es la clase Base, podemos observar como tenemos estos dos métodos
Public MustOverride Sub MetodoQueDebeSerEscrito()
Public Overridable Sub MiMetodo()
La clase derivada podría ser:
Class ClaseDerivada
Inherits ClaseBase
Public Overrides Sub MetodoQueDebeSerEscrito()
Console.WriteLine("Este es el metodo que debía ser escrito")
End Sub
Public Overrides Sub MiMetodo()
Console.WriteLine("Método que ha sido reescrito")
MyBase.MiMetodo() ' Con MyBase
End Sub
End Class
Observar como se desarrolla el método Overrides.
Public Overrides Sub MetodoQueDebeSerEscrito()
Que se corresponde con
Public MustOverride Sub MetodoQueDebeSerEscrito()
De la clase base.
El resultado de la ejecución sería:
Síguenos en: Facebook Sobre aulaClic Política de Cookies