Unidad 20. La herencia en las clases en VB (II)





20.5. Resultado de la herencia.

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:

 

Octubre-2010
Pág. 20.2

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies