Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Inherits
MustInherit, no se pueden crear
NotInheritable
Contador += 1
End Sub
En la clase que se describe no hay ni una sola lnea de cdigo pero adquiere
todas las capacidades de la clase Ejemplos.
Module Module1
Sub Main()
' definicin de la clase
Dim Objeto As New Nueva
Objeto.Visualiza()
Objeto.Incrementa()
Objeto.Visualiza()
Console.ReadLine()
End Sub
End Module
As de sencillo.
La clase Ejemplos es la clase base, u origen.
20.4. Clase derivada.
Por lo tanto la clase Nueva es la clase derivada.
La clase derivada es la clase resultante al heredar la clase Ejemplos, y asumir
todas las caractersticas de las clases origen.
Adems en esta clase podemos aadiremos las caractersticas necesarias para
que cumpla la funcin para la cual se disea.
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 mtodos de la
clase base, con el fin de sustituirlos.
Pero tambin podra ser que nos interese que un mtodo de nuestra clase no
pueda ser reescrito.
De esa forma es como se va tejiendo las caractersticas de las clases en la
herencia.
Para ello se dispone en Vb de la posibilidad de reescribir mediante el uso de
Overridable
Overrides
NotOverridable
MustOverride
Indica que debe escribirse ste mtodo 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 mtodo.
Esta es la clase Base, podemos observar como tenemos estos dos mtodos
Class ClaseDerivada
Inherits ClaseBase
De la clase base.
Class ClaseBase
Public Sub Sombreado()
Console.WriteLine("Texto desde sombreado")
End Sub
Me.MiMetodo()
End Sub
Esta sera una clase base, en la que estamos haciendo uso de MyClass y de Me.
El ejemplo que sigue puede dar una idea del uso de Me, y MyClass, pero como
realmente se aprecia el ejemplo es ejecutndolo paso a paso, con <F8>, y no
solo una vez, para comprenderlo.
Hay que fijarse en que MiMetodo est definido en las dos clases, y en funcin
del uso de Me o MyClass se ejecuta uno u otro.
Class ClaseDerivada
Inherits ClaseBase
Y el principal sera:
Module Module1
Sub Main()
Dim Objeto As New ClaseDerivada
Objeto.MiMetodo()
Objeto.Sombreado()
Objeto.UsandoMe()
Objeto.UsandoMyClass()
Console.ReadLine()
End Sub
End Module
El resultado de la ejecucin.
Todos los campos y mtodos de una clase son siempre accesibles para el
cdigo de la misma clase.
Para controlar el acceso desde otras clases, y para controlar la herencia por las
clases derivadas, o subclases, los elementos (atributos y mtodos) de las
clases tienen tres situaciones posibles de control de acceso:
Pblico, public
Los miembros declarados pblicos son accesibles en
cualquier lugar en que sea accesible la clase, y son heredados por las
subclases.
Privado, private
la propia clase.