Definiendo Propiedades



Definiendo Propiedades

Todos los objetos tienen atributos y las propiedades representan atributos. Antes, hicimos la clase "Persona", que representa a una persona; las personas tienen atributos como el nombre y la edad, por lo que la clase Persona necesita propiedades que representen dichos atributos.

También podemos determinar cómo funciona una propiedad utilizando los modificadores Public, ReadOnly o WriteOnly.


Campos y procedimientos de propiedad

Los campos son variables públicas dentro de una clase que se pueden establecer o leer desde fuera de la clase. Resultan de utilidad para propiedades que no se tienen que validar, por ejemplo, un valor "Boolean" (True o False). En el caso de la clase Persona, se puede tener una propiedad Boolean denominada casado, que especifica si una persona está soltera o casada, puesto que hay sólo dos valores posibles. Para agregar un campo a una clase, el código podría ser como el que sigue.


La mayoría de las propiedades, sin embargo, son más complejas; en la mayor parte de los casos utilizaremos procedimientos de propiedad para agregar una propiedad a una clase.

Los procedimientos de propiedad tienen tres partes:


- Una declaración de una variable privada para almacenar el valor de la propiedad.


- Un procedimiento Get que expone el valor.


- Un procedimiento Set que, como indica su nombre, establece el valor.

Por ejemplo:

Por ejemplo, un procedimiento de propiedad para una propiedad Name, de la clase Persona, podría ser como el que sigue:



El procedimiento de propiedad en sí comienza con Public Property y termina con End Property. La primera línea de código declara la propiedad Nombre de tipo String que almacenará el valor de la propiedad primerNombre.


El procedimiento Get contiene el código que se ejecutará cuando desee leer su valor; por ejemplo, si lee la propiedad Persona.Nombre, el código devolverá el valor almacenado en la variable primerNombre.



El procedimiento Set contiene código que se utiliza para asignar un nuevo valor a la variable primerNombre usando un valor pasado como argumento value.

Por ejemplo, si escribimos el código Persona.Nombre = "Noelia", el valor String Noelia se pasará como argumento value; el código del procedimiento Set lo asignará a la variable primerNombre para su almacenamiento.

1. Regresemos al editor de código de la clase y agregamos el siguiente código de declaración:



Propiedades de sólo lectura y escritura

A veces una propiedad se establece una vez y no cambia nunca más durante la ejecución del programa. Por ejemplo, una propiedad que representa una identidad e una persona nunca debe cambiar, de modo que otro programa si lo pueda leer, pero no se permitirá que ese programa cambie su valor.

La palabra clave ReadOnly se utiliza para especificar que un valor de propiedad se pueda leer pero no modificar. Para crear una propiedad de sólo lectura, deberemos crear un procedimiento de propiedad con un procedimiento Get, pero sin procedimiento Set; de igual forma, la palabra clave WriteOnly permite establecer un valor de propiedad pero no permite que se lea; Para crear una propiedad de sólo escritura, se creará una propiedad con un procedimiento Set pero sin procedimiento Get. Antes de definir propiedades de este tipo, crearemos un método.

No hay comentarios:

Publicar un comentario