Unidad 24. Cómo programar una clase en VB (II)





24.4. Asignar valores a las variables de la clase.

En el momento de declarar las variables de la clase nos encontraremos con dos tipos de variables.

Aquellas que se refieren a datos de la clase, y a las que se refieren a las propiedades que se ven desde el exterior de la clase.

A las variables normales, les podemos dar el tratamiento que habitualmente le damos a las variables de cualquier programa, pero las que se emparejan con las propiedades lo lógico es inicializarlas al valor que nos interese, con el fin de que la clase a la hora de inicializarse no sea imprescindible asignar valor a las propiedades, si no que estas ya dispongan de un valor que pueda ser operativo, y solo sea necesario ajustar para personalizar el objeto.

En el ejemplo anterior podemos observar los dos tipos de variables.

24.5. Asignar valores a las propiedades de la clase.

Un objeto deriva de una clase, y ese objeto debe tener unas características, para que las tenga podemos:

 

Asignar los valores de sus propiedades en el momento de inicializar el objeto.

Asignar a posteriori vía métodos o propiedades.

Inicializar todas las variables en el momento de su declaración.

Utilizar las propiedades para asignar valores.

 

Asignar los valores de sus propiedades en el momento de inicializar el objeto equivale a recibir sus valores en el constructor.

 

  Public Sub New(ByVal Valor As String)

  VariablePropiedad = Valor

  End Sub

Asignar los valores en la declaración equivale a:

 

  Dim VariablePropiedad As String = "Propiedad inicializada"

 

Asignar a posteriori implica recibir valores en la línea de argumentos de un método.

 

  Public Sub Metodo(ByVal VariablePropiedad As String)

  VariablePropiedad = Valor

  End Sub

 

La última alternativa es utilizar el camino de las propiedades.

 

  Public Property Propiedad() As String

  Get

  Return VariablePropiedad

  End Get

 

  Set(ByVal value As String)

  Select Case value <> ""

  Case True

  VariablePropiedad = value

  End Select

  End Set

  End Property

 

Los valores de las propiedades se asignan en el apartado Set de la propiedad en cuestión y es ahí donde hay que escribir el código adecuado para su validación, como de costumbre es un apartado que nunca hay que olvidar, no solo se ha de asignar el dato, sino que también hay que validarlo previamente.

 

Public Class Ejemplo

  Dim Variable As String = "Variable inicializada"

  Dim VariablePropiedad As String = "Propiedad inicializada"

 

  Private Sub New()  ' esto impide la creación de un objeto .

  End Sub

 

  Public Sub New(ByVal Valor As String)

  Console.WriteLine("Valor antes de recibir la inicialización {0} ", VariablePropiedad)

  VariablePropiedad = Valor

  End Sub

 

  Public Property Propiedad() As String

  Get

  Return VariablePropiedad

  End Get

 

  Set(ByVal value As String)

  Select Case value <> ""

  Case True

 VariablePropiedad = value

  End Select

  End Set

  End Property

 

  Public Sub Metodo(ByVal Valor As String)

  VariablePropiedad = Valor

  End Sub

End Class

 

El resultado de la ejecución es el siguiente:

 

 

Los valores de la propiedad se devuelven en el apartado del Get.

 

El último caso es la posibilidad de bloquear una propiedad en uno de los dos sentidos, para ello solo hay que declararla ReadOnly o WriteOnly.

Vemos en el ejemplo como se recibe o se trata una propiedad, esa propiedad es de lectura y escritura, pero podemos declararlas como ReadOnly o WriteOnly.

 

  ReadOnly Property SoloLectura() As String

  Get

  Return VariablePropiedad

  End Get

  End Property

 

Cuando declaramos una propiedad de solo lectura, la parte de escritura se elimina, y al revés cuando es de solo escritura.

 

  WriteOnly Property SoloEscritura() As String

  Set(ByVal value As String)

  Select Case value <> ""

  Case True

  VariablePropiedad = value

  End Select

  End Set

  End Property

Octubre-2010
Pág. 24.2

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

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