Creacion de una clase
Hola chavales, tengo la siguiente duda
¿que diferencia hay entre definir las variables con property o con funciones y procedures que ataquen a la propiedad? ¿Cual es mejor?
un saludo y muchas gracias! |
Hola.
Cita:
Es decir que es más eficiente:
Que:
Saludos. |
Hola...
El uso de "setters" y "getters" para definir las propiedades depende mucho de como quieres que se comporten estas. Si solo necesitas que la propiedad guarde un valor, puedes indicarle que use una variable privada:
Pero si quieres que al asignar una propiedad se produzca un efecto secundario (repintar el control) o se calcule el valor de la propiedad, entonces usas los métodos:
Espero que esta pequeña explicación disipe tu duda. Saludos... |
ecfisa podrá ser más rápido pero es una via no demasiado segura.
El uso de los métodos get y set para las propiedades están hechos para dar seguridad e implementar mecanismos de control. Quizá por naturaleza del problema algunas propiedades no requieran de un método set y/o get pero no por ello hay que argumentar que mientras sea posible hay que evitar el uso de métodos e irse por la lectura y escritura directa en el campo. Saludos, |
Cita:
Cita:
Saludos. Al. |
Hola Delphius.
No estoy diciendo lo contrario, no afirmé en ningún momento que fuera más seguro asignar directo a un atributo que mediante un método, sólo digo que es más eficiciente en el caso presentado. No es posible (o al menos buena práctica) utilizar esa forma de asignación si el valor a modificar es foráneo o si sobre el mismo se deben imponer restricciones de algún tipo, en ese caso, indudablemente se debe asignar mediante un método. Saludos. |
Cita:
Cita:
Saludos, |
Hola de nuevo Delphius.
No no, está muy bién tu acotación. Yo presupuse que que se sobreentendía y mierda :D (perdón pero me causa) hizo una pregunta por la cuál tendría que haberme dado cuenta que tenía sólo conocimientos básicos sobre el tema. Así que de última el que se limitó al ejemplo dejando un vacío de información fuí yo... ;) Solamente te quería aclarar que estoy conciente y de acuerdo con vos, que es más seguro vía método por que permite comprobaciónes que serían imposibles hacíendo la asiganción de forma directa. Es decir, redondeando la idea: Siempre es deseable la eficiencia excepto a costa de sacrificar seguridad. Saludos. |
Muchas gracias
Muchas gracias a todos los que habéis contestado ... entendido
|
La franja horaria es GMT +2. Ahora son las 00:45:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi