Crear propiedades para sus clases

Este tutorial es parte de una lección en curso. La primera parte está aquí: Crear sus propias clases en VB .NET

En el anterior secciones, has aprendido a crear una clase en VB .NET. Usted también aprendió a crear sus propios métodos. En esta parte, aprenderás cómo crear sus propias propiedades.

Creando sus propias propiedades en las clases VB .NET

Puede agregar sus propias propiedades a su clase. Una propiedad, recuerde, es algo que cambia o establece un valor. Los ejemplos son, establecer el Texto en un cuadro de texto, cambiar el color de fondo de una Forma, y establecer un Botón para ser Activado.

Puedes obtener valores de una propiedad o establecerlos. Así que para un Cuadro de texto, puedes Establecer el texto que aparecerá en el cuadro de texto, o puedes obtener el texto que está dentro del caja de texto. Usas estas mismas palabras, Get and Set, cuando estás creando tu propio Propiedades. Un ejemplo podría aclarar las cosas. Antes de hacer lo siguiente, descarga la imagen que necesitarás para este tutorial:

Descargue la imagen para estos tutoriales (Archivo WinZip)

Una vez que tenga las imágenes en su disco duro, haga lo siguiente:

  • Añade un control de cuadro de imagen a tu formulario
  • Establecer la propiedad SizeMode de la caja de imágenes a StretchImage
  • Haga clic en la propiedad Image y añada la imagen planet.jpg que descargaste arriba
  • Añade dos cajas de texto al formulario. Cambiar el nombre de la primera a txtHeight , y el segundo a txtWidth . Introduce 300 como texto para ambos cuadros de texto
  • Añade dos etiquetas al formulario. Poner el Texto del primero a Altura , y el segundo a Ancho . Muévelos junto a las cajas de texto
  • Añade un nuevo botón a tu formulario. Poner la propiedad Text a «Change Altura y anchura»

Lo que haremos es dar a nuestro objeto la capacidad de fijar una altura y la propiedad de ancho. Cuando el objeto ha hecho su trabajo, la altura y la anchura de la caja de imagen cambiará a los valores de las cajas de texto. Entonces nos vamos.

VB necesita saber que quieres establecer una propiedad para tu clase. La forma en que que haces esto es del tipo «Propiedad Pública… Propiedad Final».

Accede al código de tu clase. Escriba unas cuantas líneas de espacio entre el Subfondo Final de su método DoMessageBox, y la línea que dice «Clase final». En una nueva línea, escriba lo siguiente:

Public Property ChangeHeight() As Integer

ChangeHeight es el nombre de nuestra propiedad, y es algo que hicimos nosotros mismos. Después de un par de paréntesis redondos, se añade el tipo de valor que será devuelta (como una función). Aquí, queremos devolver un Entero valor.

Cuando presionas la tecla de retorno después de escribir esa línea, VB termina el resto. del código para ti: (Aunque VB podría no terminar el resto del código hasta que tecleas Get y luego pulsas Return).

Public Property ChangeHeight() As Integer

Obtener

End Get

Set( Value As Integer)

Juego final

Propiedad final

(Es posible que tenga un subrayado bajo «End Get». Verás cómo resolver esto pronto.)

Antes de que se explique el código, añade una nueva variable justo en la parte superior del código, justo debajo de «Cambio de clase pública». Añade esto:

Private intHeight As Integer

La palabra Privado significa que sólo el código dentro de la Clase puede ver esta variable. No se puede acceder a este código directamente desde un botón de un formulario, por ejemplo.

La razón por la que la variable está en la parte superior es para que otros trozos de código puede verlo y usarlo.

No más lectura de estas lecciones online – ¡consigue el eBook aquí!

Pero su ventana de codificación debería verse ahora como la siguiente imagen:

Crear propiedades para sus clases

Con las partes Get y Set , el talón de la propiedad es éste:

Public PropertyName() As VaraibleType

Propiedad final

La razón por la que el Get y Set están ahí es para que puedas establecer un el valor de su propiedad, y obtener un valor de vuelta.

Para establecer un valor, el código dentro de la propiedad es este:

Set( Value As Integer )

Juego final

La palabra Set va seguida de un par de paréntesis redondos. Dentro de los corchetes redondos son Valor Como Entero . (De nuevo, el valor por defecto, ByVal, está escondido de ti). Es como un Sub, cuando le entregas un valor. El nombre de la variable, Valor , es un nombre por defecto. Puedes cambiar esto a cualquier cosa que te guste. El tipo de variable, As Integer , también es un valor por defecto. No tienes que pasarle números a tu propiedad. Si quieres que tu propiedad manejar el texto que podría tener algo como esto:

Set( MyText As String )

Pero no podías hacer esto:

Set( Value As Integer, MyString As String )

En otras palabras, no puedes pasar dos valores a tu propiedad. Sólo puedes pasar un valor.

Pero queremos pasar un número a nuestra propiedad. Para nosotros, este valor vendrá del cuadro de texto del formulario. Cualquier número que esté dentro del cuadro de texto se entregue a nuestra propiedad.

Set( Value As Integer )

Pero necesitamos usar este valor que se está entregando. Podemos asignarlo a esa variable que nos establecimos en la parte superior de la clase. Así que añade esto a tu código (La nueva línea es en negrita):

Set( Value As Integer)

intHeight = Valor

Juego final

Cada vez que nuestra propiedad es llamada a la acción, estamos fijando un valor , y luego entregando ese valor a una variable llamada en la altura . Esto se conoce como como escribir a una propiedad.

Para leer de una propiedad, se usa Get. Esto le devolverá un valor fuera de su propiedad. El talón del código es este:

Obtener

End Get

No necesitas ningún soporte redondo para el papel de Get. Sólo estás buscando algo para ser leídos.

Añade la línea en negrita a tu declaración de Get.

Obtener

ChangeHeight = intHeight

End Get

Todo lo que haces aquí es devolver un valor, como haces con una función. Estás entregando un valor a cualquier nombre que llames a tu propiedad. Nosotros llamamos nuestro ChangeHeight . Es un número entero. Así que podemos pasar cualquier valor que haya sido almacenado dentro de intHeight sobre la variable llamada ChangeHeight :

ChangeHeight = intHeight

También puedes usar la palabra clave de retorno. Así:

Obtener

Return intHeight

End Get

Añadiendo un valor de retorno, el subrayado bajo «End Get» debería desaparecer.

Veamos cómo usar nuestra nueva propiedad. (No es una propiedad terriblemente útil, por cierto. Un cuadro de imagen ya tiene una propiedad de altura y anchura que puede uso. Así que el nuestro es un poco redundante. Pero lo mantenemos simple para que puedas entender cómo crear sus propias propiedades. Y no es una buena idea poner esta propiedad en el código para su clase de ConvertPostcode. Después de todo, lo que tiene la altura y el ancho de una caja de fotos tiene que ver con los códigos postales? Pero hemos lo añadió aquí sólo por conveniencia.)

Aprenda a utilizar su nueva propiedad —

Espero que te haya sido de ayuda!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *