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.
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
Síguenos en: Facebook Sobre aulaClic Política de Cookies