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





20.6. Referencias en el código de una clase, MyClass, MyBase, Me.

¿Qué es esto.?

Ya hemos visto parte en el ejemplo anterior.

Si creamos clases, es para crear objetos con ellas.

Sí las clases tienen como característica que se puedan heredar en otra clase, ¿qué pasa, si a mí me interesa usar el método de la clase heredada en lugar del método que estoy escribiendo para ésta clase en un momento dado?.

 

Class ClaseBase

  Public Sub Sombreado()

  Console.WriteLine("Texto desde sombreado")

  End Sub

 

  Public Overridable Sub MiMetodo()

  Console.WriteLine("Cadena en clase base")

  End Sub

 

  Public Sub UsandoMe()

  Me.MiMetodo()

  End Sub

 

  Public Sub UsandoMyClass()

  MyClass.MiMetodo()

  End Sub

End Class

 

Esta sería 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 ejecutándolo 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 función del uso de Me o MyClass se ejecuta uno u otro.

 

Class ClaseDerivada

  Inherits ClaseBase

 

  Public Overrides Sub MiMetodo()

  Console.WriteLine("Cadena en clase derivada")

  End Sub

 

  Public Shadows Sub Sombreado()

  MyBase.Sombreado()   ' llama al de clasebase

  Console.WriteLine("Texto desde sombreado derivada")

  End Sub

End Class

 

MyBase, se utiliza para llamar desde la clase derivada a un método de la clase base que ha sido reemplazado en la clase derivada, pero que sin embargo posee código que nos interesa se ejecute, porque lo que estamos haciendo en realidad es una ampliación del código de la clase base.

 

Y el principal sería:

 

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 ejecución.

 

 

 

20.7. Limitaciones en la herencia.

Todos los campos y métodos de una clase son siempre accesibles para el código 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 métodos) de las clases tienen tres situaciones posibles de control de acceso:

 

Público, public   Los miembros declarados públicos son accesibles en cualquier lugar en que sea accesible la clase, y son heredados por las subclases.

Privado, private   Los miembros declarados privados son accesibles sólo en la propia clase.

 

Protegido, protected Los miembros declarados protegidos son accesibles sólo para sus subclases

 

En VB además disponemos de Protected Friend que permite que la clase base visualice el método protegido en un objeto derivado de la clase base.

 

•Ejercicios propuestos de la Unidad
Octubre-2010
Pág. 20.3

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

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