Unidad 14. Clases en VB (II)





14.6. Inicializar el objeto.

Para poder utilizar el objeto que hemos creado, éste ha de inicializarse, para ello se utiliza el constructor de la clase.

Para ello existe en Vb el método New, que es el constructor de la clase.

 

  Sub New(ByVal Dato As String)  ‘ Constructor de la clase

    DatoExterno = Dato

  End Sub

 

La misión del constructor no es solo la de asumir los valores que se reciben en el momento de crear el objeto, si no que también se puede hacer en ese momento el control de los mismos.

 

  Public Sub New(ByVal Dato As String)

    If dato <> “” Then DatoExterno = Dato

  End Sub

 

En el ejemplo se obliga a que el dato recibido sea distinto de nulo para asignarlo a la variable de la clase.

 

La declaración del constructor como public sin argumentos permite la creación de objetos sin la utilización de datos, esto no siempre puede ser práctico o cómodo.

 

Si en lugar de declarar el constructor como public lo declaramos como private, se impide que se generen instancias de un objeto sin que estos tengan los valores que se reclamen como adecuados en el método.

 

  Private Sub New()   ‘ impide la creación de instancias de la clase.

  End Sub

 

En el ejemplo que hemos visto, si declaramos como private el constructor anterior, la declaración de un objeto de ésta clase obligaría a que llevará los dos datos que se piden en la sobre carga.

Explicado de otra forma, así se impide que un objeto se cree sin pasar por el control del constructor correspondiente, ya que al declararse como private, éste queda bloqueado, anulado o como deseemos decirlo, y siempre se ejecuta el declarado por nosotros como public.

14.7. Creemos un objeto.

El siguiente paso es crear un objeto de esta clase, aunque ya lo hemos hecho, pero de forma más avanzada.

 

Dim Objeto As Ejemplo

 

Y ahora asignemos algo al dato externo para probarlo.

 

Sub Main()

  Dim Objeto As Ejemplo

  Objeto.DatoExterno = "Contenido de la propiedad"

  Console.WriteLine(Objeto.DatoExterno)

  Console.ReadKey()

End Sub

 

No hemos podido utilizarlo, falta un pequeño matiz, hemos definido que el objeto es del tipo Ejemplo, pero no se ha creado una instancia del mismo, cambiemos la forma de definir el objeto por la que sigue.

 

Dim Objeto As New Ejemplo

 

Probemos ahora, y ahora si que funciona, y este sería el resultado.

 

Contenido de la propiedad

 

14.8. Cómo gestionar las propiedades, los datos.

Disponemos de un dato, una propiedad que el usuario puede utilizar, y a nosotros nos permite obtener datos para el funcionamiento del objeto.

 

Podemos gestionar la obtención de datos de varias formas, podemos:

 

Obtener datos en la creación del objeto.

Asignar controladamente los datos.

Asignar sin control previo los datos.

 

1    Obtener datos en la creación del objeto.

Cuando se crea una instancia de un objeto, se ejecuta de forma predeterminada el método new, tema a parte es que lo hayamos escrito o no.

En ese método nosotros podemos reclamar la inclusión de aquellos datos que creamos oportunos, y en ese mismo momento validarlos.

 

Public Class Ejemplo

  Dim DatoInterno As String

  Private OtroInterno As Integer

  Public DatoExterno As String

 

  Sub New(ByVal Dato As String)

    DatoExterno = Dato

  End Sub

End Class

 

Si añadimos el método new a la clase, tal como esta en el ejemplo superior, en el programa habrá que hacer el siguiente cambio,

 

 

 

para evitar el error de sintaxis que podemos observar en la imagen, ya que no se ha introducido el valor que solicitamos en el método new.

 

 

 

Probemos ahora, el código modificado en el programa principal es el que sigue.

 

Sub Main()

  Dim Objeto As New Ejemplo("Contenido de la propiedad.")

 

  Console.WriteLine(Objeto.DatoExterno)

  Console.ReadKey()

End Sub

 

Ahora si que funciona, y este sería el resultado.

 

Contenido de la propiedad.

 

Fijémonos en que a la propiedad DatoExterno le hemos asignado el valor obtenido en el método New.

Además no se ha realizado ningún control sobre ese dato.

Al método new se le denomina constructor de la clase.

Octubre-2010
Pág. 14.2

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

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