Propiedades en las clases

Iniciado por LeandroA, 19 Agosto 2010, 22:11 PM

0 Miembros y 2 Visitantes están viendo este tema.

LeandroA

Hola una pregunta con respecto a las propiedades en las clases usualmente se utiliza de esta forma para establecer una propiedad

Option Explicit
Private m_SearchInSubFolder As Boolean

Public Property Let SearchInSubFolder(ByVal Value As Boolean)
    m_SearchInSubFolder = Value
End Property

Public Property Get SearchInSubFolder() As Boolean
    SearchInSubFolder = m_SearchInSubFolder
End Property


con el fin de atribuirle un valor a m_SearchInSubFolder, como verán dentro de la propiedad no se ejecuta nada mas entonces la  pregunta es tiene algo de malo si yo directamente declaro la variable como publica

Public m_SearchInSubFolder As Boolean

Saludos.

raul338

La verdad? No :P es que justamente eso es cuando se quiere hacer "algo mas" (alguna comprobacion etc) cuando se asigna algun valor, algunos exageran por "buena practica" y le duplica las lineas de su codigo :P

BlackZeroX


jamas he puesto una variable dentro de una clase de forma publica ( para tomarlo como propiedad ), y es que siempre en un momento dado si quiero modificar la clase y validad los datos antes de almacenar el optimo pues como que reemplazar las variables como que no xP

ademas es mejor si se quiere proteger una variable (solo consultar y no modificar)!¡.

Por ejemplo;

un proseso que ocupe la variable de la propiedad y esta este de forma publica, y se llegue a cambiar el valor de la misma, pues como que causaria un retorno del valor no deseado, en cambio si se declara una variable publica a priivada y esta solo es modificable por medio del Proc Property se puede proteger, pero esto ya lo Sabes xP.

Dulces Lunas!¡.
The Dark Shadow is my passion.

LeandroA

No si porsupuesto me refiero a publica dentro de la misma clase no en un modulo bas.

bueno entonces no abria probleamas, tampoco deberia ocupar mas memoria?

seba123neo

Hola, Leandro..por lo que veo no habria problema, pero bueno viste al parecer no hay que hacerlo, mira esta cita:

CitarNo implemente una propiedad como variable pública solamente por evitar el costo de una llamada de función. Internamente, Visual Basic implementará de todos modos las variables públicas de los módulos de clase como parejas de procedimientos de propiedad, ya que esto es lo requerido por la biblioteca de tipos.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson