¿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.
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.
![]() |
Síguenos en: Facebook Sobre aulaClic Política de Cookies