Unidad 14. Clases en VB (IV)





3    Asignar sin control previo los datos.

La asignación sin control de los datos puede realizarse tanto en la propiedad, como en la variable.

En la propiedad podemos observar que hemos eliminado el código de validación, y que solo queda la asignación:

 

  Set(ByVal value as String)

    DatoInterno = value      ‘ Asignación

 End Set

 

La propiedad quedaría pues, de esta forma:

 

Property Propiedad() as String

  Get

    Return DatoInterno       ‘ Lectura

  End Get

  Set(ByVal value as String)

    DatoInterno = value      ‘ Asignación

  End Set

End Property

 

La otra posibilidad es la de declarar como variable pública el dato a utilizar y el usuario puede asignar valores de forma libre.

 

Public DatoExterno As String

 

Evidentemente sería adecuado que esa variable fuera inicializada, para de esa forma evitar o reducir problemas.

 

Public DatoExterno As String = “Valor por defecto”

 

Con éste programa

 

Sub Main()

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

 

  Console.WriteLine(Objeto.DatoExterno)

 

  Objeto.DatoExterno = ""

  Console.WriteLine(Objeto.DatoExterno)

 

  Objeto.DatoExterno = "Nuevo valor"

  Console.WriteLine(Objeto.DatoExterno)

 

  Console.ReadKey()

End Sub

 

La ejecución quedaría como sigue:

 

Valor por defecto

 

Nuevo valor

 

La línea en blanco es la que provoca ésta instrucción

 

  Objeto.DatoExterno = ""

  Console.WriteLine(Objeto.DatoExterno)

 

La clase completa de éste ejemplo quedaría:

 

Public Class Ejemplo

  Dim DatoInterno As String = "Valor por defecto"

  Private OtroInterno As Integer

  Public DatoExterno As String = "Valor por defecto"

 

  Property Propiedad() as String

    Get

      Return DatoInterno       ' Lectura

    End Get

    Set(ByVal value as String)

      DatoInterno = value      ' Asignación

    End Set

  End Property

 

  Sub New(ByVal Dato As String)

    If Dato <> "" Then DatoInterno = Dato

  End Sub

End Class

 

14.9. Propiedades solo lectura.

Se trata con ésta opción de disponer solo de la posibilidad de utilizar los valores de una propiedad pero no permitir su modificación por parte del usuario de la clase, del objeto.

Para ello utilizamos la siguiente sintaxis.

 

  ReadOnly Property Propiedad()

    Get

      Return DatoInterno       ' Lectura

    End Get

  End Property

 

Podemos comprobar como desaparece la parte de asignación, Set, y además si intentamos escribirla nos dará error de sintaxis.

14.10. Propiedades solo escritura.

Se trata del caso contrario, permitir que solo pueda asignarse datos pero no su visualización, su lectura.

 

  WriteOnly Property Propiedad() as String

    Set(ByVal value as String)

      DatoInterno = value      ' Asignación

    End Set

  End Property

14.11. Utilizar los datos, las propiedades.

El uso de la propiedad es como en el resto de casos en los que utilizamos una variable, con las restricciones expuestas de lectura y escritura, pero no hay cambios, se pueden usar como una variable más.

Precauciones a tomar, tener presente que los cambios en una propiedad, afectan al objeto del cual depende, y si tenemos varios objetos de la misma clase, estar seguros sobre cual hacemos los cambios, o cual es el que estamos utilizando.

14.12. Clase como estructura de datos.

Es posible crear una clase de la que se deriven objetos que únicamente contienen datos, información y también la de crear una estructura válida con la misma.

14.13. Conclusiones.

Hemos visto el uso de los datos en una clase, propiedades, variables públicas, sus condiciones de uso y la forma de controlar los datos.

Lo principal es tener presente que es muy útil declarar las variables inicializadas a valores que sean prácticos para el uso por defecto del objeto.

Pero, además exigir en el método new, el constructor, la inserción de los datos que sean necesarios para la inicialización del objeto.

 

•Ejercicios propuestos de la Unidad
Octubre-2010
Pág. 14.4

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

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