Como hemos comentado, a la hora de inicializar la clase, las variables que se emparejan con las propiedades las vamos a inicializar, pero evidentemente el usuario puede querer personalizar o necesitar ajustar los valores del objeto, por lo tanto necesitará cambiar los valores de las propiedades.
Debemos intentar disponer de un sistema para poder asignar datos a las propiedades de forma controlada.
Esta es la forma de hacerse en VB.
Public Class Primera
Dim DatoInterno As Integer = 32
Public Property DatoExterno() As Integer
' validación
Get ' al devolverse
Return DatoInterno
End Get
Set(ByVal Value As Integer)
Select Case Value ‘ al asignarse
Case -32767 To 32767
DatoInterno = Value
Case Else
DatoInterno = 0
End Select
End Set
End Property
End Class
Podemos observar como la variable DatoInterno esta representada en el exterior con la propiedad DatoExterno.
Al asignar datos a la propiedad desde el programa se ejecutará esta zona del código
Set(ByVal Value As Integer)
Select Case Value ‘ al asignarse
Case -32767 To 32767
DatoInterno = Value
Case Else
DatoInterno = 0
End Select
End Set
Donde nosotros podemos validar, controlar o bloquear, como deseemos, los datos que se intentan asignar.
Cuando se reclame desde el exterior el valor de la propiedad DatoExterno se ejecutará
Get ' al devolverse
Return DatoInterno
End Get
Las propiedades normalmente vamos a utilizarlas en ambos sentidos, es decir devolver su valor y recoger nuevos valores.
Pero en algún momento puede darse la circunstancia o la necesidad de impedir el uso en alguno de los dos sentidos.
El plantearse este tipo de actuación nos va a garantizar o reducir el porcentaje de errores en la ejecución de nuestro programa.
La otra forma de asignar datos a la clase es la utilización de variables públicas, pero ahí perdemos el control de los datos a recibir, por lo tanto es un camino tortuoso y peligroso, a utilizar en contadas ocasiones.
Public Class ClaseEjemplo
Public Publica As Integer
End Class
Esta sería la forma de declarar la variable en la clase.
Como podemos ver no hay ningún código de control.
Module Module1
Sub Main()
Dim Objeto As New ClaseEjemplo
Objeto.Publica = 25
End Sub
End Module
Esta es la forma de utilización en el programa.
Se puede asignar cualquier valor sin ninguna restricción.
Cuando menos peligroso, evidentemente cuando lo que represente sean valores que pueden perjudicar el buen funcionamiento de la clase, del objeto.
Síguenos en: Facebook Sobre aulaClic Política de Cookies