A veces, se necesitan más atributos para manejar mejor una clase. Por ejemplo, supongamos que tiene cuatro grupos de clientes diferentes: tipos de clientes corporativos, más grandes, más pequeños y nuevos, o una clase de búsqueda con tres métodos de búsqueda diferentes: disquete, disco duro y red. Entonces, ¿no sería mejor elegir una de una lista de opciones en lugar de configurar la propiedad relevante con números o texto que no puedes entender?
Creo que la respuesta es sí. Porque este tipo de procesamiento se llama "enumeración".
Abra el proyecto de la sección anterior y agreguemos algo de código.
Agregue el siguiente código a la clase CDog:
La palabra clave "Enum" se utiliza para definir una enumeración, en otras palabras, es una lista de opciones posibles. Cada opción tiene un número correspondiente, lo que significa que BigAndShaggy es igual a 1, ShortCrewCut es igual a 2, y así sucesivamente.
Cabe señalar que al agregar información sobre elementos de enumeración a la base de datos, sus valores correspondientes son muy útiles. Dado que "BigAndShaggy" en realidad representa el valor 1, se puede insertar directamente en el campo numérico de la base de datos. Esto significa que puede utilizar cadenas fácilmente para mantener la base de datos.
Entonces, creemos una lista de tipos de pelaje de perro y definamos otro atributo para agregar estos tipos a la clase CDog.
Declare las siguientes variables en la clase:
PRivateudtCoatAsCoatType
Esta variable privada definida se utiliza para guardar el atributo de tipo Coat que se agregará. Tenga en cuenta que la variable udtCoat no es una cadena ni un número entero, sino nuestro propio tipo de enumeración definido CoatType.
Cuando se abre la clase CDog, seleccione el comando "Agregar procedimiento" en el menú "Herramientas" y aparecerá el cuadro de diálogo correspondiente;
Escriba Escudo en el cuadro de edición Nombre;
Marque el botón de opción "Propiedad" y haga clic en [Aceptar].
El sistema genera automáticamente el siguiente marco de código:
Pero éste no es el marco que necesitamos. En el código, el tipo de variable "Variante" puede recibir y procesar cualquier tipo de datos. En la clase CDog que definimos, el último atributo es Edad, que solo puede aceptar números enteros. Pero ahora el atributo debe poder recibir el tipo de datos en la lista CoatType, por lo que se deben realizar las siguientes modificaciones:
Cambie todas las "Variantes" en el código generado a "CoatType";
Luego, agregue algún código que realmente maneje las propiedades.
En el procedimiento Obtener de la propiedad, agregue el siguiente código:
En el procedimiento Let de la propiedad, agregue el siguiente código:
Cambie a Form1;
Cambie el código del botón Comando a:
Ahora empieza a escribir: MyDog.Coat=
La magia sucede, al presionar la tecla "=", aparece una lista de opciones posibles, entre las cuales podemos elegir una.
Complete la mecanografía del código: MyDog.Coat=ShortCrewCut
A continuación, obtendremos el valor de la propiedad Coat. Si ahora simplemente estuviéramos mostrando valores de propiedad en un cuadro de diálogo de mensaje, simplemente devolveríamos el valor de la selección. Por ejemplo, si se selecciona ShortCrewCut, su propiedad debe devolver 2. Si no lo crees, ¡puedes intentarlo!
Pero aquí hay otro método, que consiste en utilizar la declaración If-Then para determinar Coat:
Agregue el siguiente código después del código existente para el botón Comando:
El código aquí simplemente determina el valor de la propiedad Coat y muestra el cuadro de diálogo del mensaje correspondiente. Por supuesto, aquí también se puede utilizar la declaración "SelectCase".
Finalmente, añadimos una última afirmación para liberar memoria del ordenador:
Agregue el siguiente código después del código existente para el botón Comando:
Presione F5 para ejecutar el programa y haga clic en el botón Comando para probarlo.
¿Cuál fue el resultado? ->