PDF de programación - 1. Vb .Net 2005 - Clases

Imágen de pdf 1. Vb .Net 2005 - Clases

1. Vb .Net 2005 - Clasesgráfica de visualizaciones

Publicado el 8 de Octubre del 2019
620 visualizaciones desde el 8 de Octubre del 2019
371,5 KB
21 paginas
Creado hace 19a (01/01/2005)
1. Clases.

1.1 Introducción.

Sobre las características de las clases, hay mucho escrito, y por gente que sabe más que nosotros, y
cierto es que no hay mucha coincidencia entre los mismos, por lo tanto no vamos a intentar dar ninguna
lección, ni mucho menos sentar cátedra, pero si que vamos a intentar entenderlo y que lo entienda quien pueda
estar como nosotros.

Lo más parecido a una clase quizás sea lo que conocemos como librerías.
Una clase es como una plantilla, un molde, con el que luego crearemos una serie de objetos que
dispondrán de una serie de características, propiedades, que tendrán un comportamiento, métodos, y es
capaz de reaccionar ante una serie de hechos, eventos, que están definidos en la clase de la cual se crea el
objeto.

Hasta aquí pocas diferencias con lo que son los objetos de un formulario, y un formulario también, y es
que esos dos tipos de objetos derivan de una clase, los formularios de la clase System.Windows.Forms, y los
objetos de la que les corresponda, según su tipo, en principio de System.Windows.Forms

Según la teoría, la aparición de las clases viene motivada por la complejidad de las aplicaciones

actuales, con el fin de facilitar la creación de software compacto y fiable.

Cada día más, se crean aplicaciones en las que intervienen no solo elementos que están ubicados en el
equipo local, sino que también interviene el uso de redes, servidores de distinto tipo etc..., y eso complica la
creación del software.

La utilización de clases tiene como fin el de la reutilización de código ya escrito, porque en una clase se
puede encerrar, aislar, código que no sea visible desde el exterior, y los parámetros que necesite dicho código
para funcionar es lo que convertimos en propiedades de dicha clase.

La reutilización es lo que conocemos como herencia, aunque luego no se usa mucho.
El que el código dentro de la clase esté o no accesible, es lo que conocemos como encapsulamiento.
La posibilidad que tienen las clases de derivarse unas de otras, es lo que les da la característica de

En Visual Basic con la versión 6, ya se podían crear clases, pero estas no cumplían todos los requisitos

En ésta versión de VB en Studio Net, si que se siguen dichos requisitos, y es posible implementrar

polimórficas.

que debe cumplir una clase.

clases con todas sus características.



1.2 Declaración.

El primer paso para el uso de las clases es su declaración.
Como en el caso de los procedimientos, los tipos y las variables, éstas han de poseer delante el ámbito

en el que podrán ser utilizadas, es decir:


Private
Public.
Friend


Protected.
Protected Friend

Solo podrán ser utilizadas en el ámbito en el que está definida.
Puede ser usada en el ámbito en el que está definida y fuera del mismo.
La clase puede verse en el ensamblado al que pertenece, pero no fuera de
él.

Solo se puede aplicar a los miembros de una clase, no a la clase en sí.
Los identificadores pueden utilizarse en el ensamblado en el que se han
definido, y en las clases derivadas, aunque estén en otros ensamblados.


Por lo tanto para la definición de una clase escribiremos


Public Class Ejemplo
../ ..
End Class



1

1.3 Qué tienen.

Las clases pueden albergar


Variables.
Propiedades.
Métodos.
Eventos.

1.3.1 Variables.

Variables, porque son necesarias para la gestión de los datos a utilizar en la clase.
La información puede provenir de la ejecución propia de la clase, o de las propiedades de la misma, que

se pueden inicializar en la misma clase, y/o recibir datos desde el programa que genera el objeto.
1.3.2 Propiedades.

Son la parte de la descripción de la clase que se puede definir desde el programa, podrán ser de distinto

tipo, solo lectura, solo escritura, lectura escritura.


Existe la posibilidad de disponer de código de validación en la asignación de datos, Set, para su control.

1.3.3 Métodos.

Es lo que le da a la clase la capacidad de acción.
Pueden heredarse de una a otra, y pueden definirse varios métodos con el mismo nombre y distintos

argumentos, es lo que se conoce como sobre carga.

También pueden utilizarse o anularse los métodos de una a otra clase, en función de nuestras

En función de las necesidades, se puede utilizar el método de la clase base en una derivada, para así

necesidades, Overridable, Overrides.

poderlo ampliar en la misma, Shadows.
1.3.4 Eventos.

Con la creación de eventos en las clases se tiene la posibilidad que sea también la clase la que llama al

programa, y la de interactuar con el mismo.
1.4 Con las clases se puede hacer.

Crear objetos, que es su fin primordial.
Obtener clases nuevas a partir de las existentes.
Reutilizar los métodos existentes en nuevas clases derivadas de la origen.
Generar eventos para enviar señales al programa.
Crear componentes para utilizar en los programas.

1.5 Clases derivadas, herencia.

Una de las características de las clases es su reutilización, para ampliarlas en una nueva versión.
La clase nueva hereda todos los elementos de la clase anterior, excepto los definidos como Privados.
Además en esta versión de Vb, la clase que es heredada no tiene porque estar escrita en Vb, puede

estar en C, o Java.

Para heredar una clase solo hay que colocar en el texto de la nueva clase la palabra Inherits y el nombre

de la clase que queremos heredar.



Inherits Calculo


Con lo que toda la operatividad de la clase Calculo se hereda en la nueva clase.



2

Namespace Ambito
Public Class Calculo
' La variable se hace pública
Public Shared Contador As Int16 = 0
Public Sub Incrementa()
Contador += 1
End Sub

Public Sub Resta()
Contador -= 1
End Sub

Public Sub Visualiza()
Console.WriteLine("Contador vale {0} ", Contador)
End Sub
End Class


Public Class Clase
' herencia de la clase anterior
Inherits Calculo
End Class

End Namespace ' Ambito

Module Principal
Sub Main()
' definición de la clase
Dim MiClase As New Ambito.Clase
MiClase.Visualiza()
MiClase.Incrementa()
MiClase.Visualiza()
Console.Readline()
End Sub
End Module


Como podemos ver en el ejemplo, la clase Clase, en realidad no tiene código, solo hemos puesto


Inherits Calculo


Y todos los elementos de la clase Calculo han pasado a ser utilizables en Clase.
Pero claro también puede ser que a nosotros nos interese que una clase que hemos escrito, no sea
reutilizable, en ese caso la solución está en colocar en la definición de esa clase la palabra NotInheritable, y
con ello impedimos que se puedan crear clases a partir de la misma.


Si en la clase anterior colocamos


Public NotInheritable Class Calculo



en la definición de la clase, en la ventana de depuración enseguida aparece el contenido que vemos a

continuación.



3



Otro caso que se puede plantear es que deseemos agrupar varias clases en una misma, pero solo por
cuestiones de organización, es decir no se puede usar para crear objetos, sino solo otras clases, y que de
éstas sí se puedan crear objetos, en ese caso a ésta clase puente la podemos definir como MustInherit, algo
así como que tiene o que debe ser heredada, y con ella no se podrán crear objetos, pero si podrá ser usada
para crear nuevas clases.
1.6 Polimorfismo.

Lo que ya hemos visto de herencia, Inherits, y de sobrecarga, OverLoads, forma parte de lo que se

denomina polimorfismo.

dan distintas formas al mismo método.

En un caso porque se hereda una clase y se puede potenciar, cambiar etc..., y en el otro porque se le



1.7 MyClass, MyBase, Me.

¿Qué es esto.?
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 mi 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?.


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.


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.



4

Namespace Ambito
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

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

Class Prueba
Sub Inicio()
Dim Objeto As ClaseDerivada = New ClaseDerivada
Objeto.UsandoMe() ' Visualiza "Cadena en clase derivada"
Objeto.UsandoMyClass() ' Visualiza "Cadena en clase base"
Objeto.Sombreado() ' Usa solo el de la clase derivada
  • Links de descarga
http://lwp-l.com/pdf16687

Comentarios de: 1. Vb .Net 2005 - Clases (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad