![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Las propiedades son útiles en el futuro
A que me refiero con esto... imagínate que tienes dos clases:
Como puedes ver las dos clases hacen lo mismo:
y podría parecer que es más cómodo al principio usar la clase TVariable en vez de de la clase TPropiedad pues "hay que escribir menos". Sin embargo dejamos de lado el presente y avanzamos al futuro... ahora nos damos cuenta que queremos mostrar un mensaje de error si el valor del campo miVariable es una cadena vacía. Desde la primera aproximación tenemos dos formas, bien verificamos fuera de la clase el valor introducido o bien añadimos un método que valide el texto introducido y en ambos casos recorremos nuestro código en busca de todas las veces que modificamos el valor de miVariable para añadir los cambios. Sin embargo, si hemos usado propiedades el resultado podría quedar algo así:
donde setTexto sería la función que nos valida el texto introducido. Espero que este ejemplo te ayude a explorar más detenidamente el tema de las propiedades. |
|
#2
|
||||
|
||||
|
sigo con la idea de Hector.
Las propiedades son útiles también para introducir "efectos secundarios". Supongamos que estas programando una clase:
Mas adelante... mientras vas programando el sistema, te das cuenta que queres que el mensaje de la etiqueta se actualice automáticamente en la pantalla cuando el programador lo asigne, de manera que el usuario tenga un retorno de información adecuado. Entonces, en lugar de escribir el valor de la propiedad directamente en FMensaje, creas un método SetMensaje (o cualquier otro nombre, aunque esta es la convención) y lo implementas algo como:
Luego, te das cuenta que sería de utilidad al programador poder actuar cuando hay un cambio en el valor de la propiedad mensaje de la etiqueta. Entonces añadis un evento a la clase y lo lanzas cuando cambia el valor:
En fin... usar propiedades te ayuda a mantener una interfaz consistente al programador a medida que tus clases evolucionan, validar automáticamente los valores que la clase acepta en las propiedades (por ejemplo, solo números pares o impares, etc), introducir efectos secundarios "controlados", lanzar eventos. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| pregunta tonta sobre "property" | patroclus02 | OOP | 6 | 09-10-2006 18:14:31 |
| Interbase/Firebird. Clasic ó Superserver. ¿Cuando usar cada una? | Delphius | Firebird e Interbase | 9 | 08-08-2006 23:37:30 |
| Ayuda para sobreescribir property | Egroc | OOP | 3 | 12-11-2005 22:24:09 |
| Excepción "Invalid property value" en botón inexistente | melanthea | C++ Builder | 1 | 07-07-2004 18:12:39 |
| a proposito de property | pickman | Varios | 2 | 18-07-2003 04:10:34 |
|