Clases

01/04/2010 - 20:24 por CG | Informe spam
Visual C# 2008

Hola a todos

En la implementación de Clases surge una duda. Sin desmerecer el hecho de
que Los Campos no son suceptibles de validar los datos asignados y en cambio
las Propiedades propiamente dichas sí, ¿Cuál es la diferencia entre los
Campos y las Propiedades? ¿En qué casos utilizar uno u otro?

Desde ya Muchísimas Gracias

Carlos García

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
01/04/2010 - 20:33 | Informe spam
"CG" wrote in message
news:
En la implementación de Clases surge una duda. Sin desmerecer el hecho de
que Los Campos no son suceptibles de validar los datos asignados y en
cambio
las Propiedades propiamente dichas sí, ¿Cuál es la diferencia entre los
Campos y las Propiedades? ¿En qué casos utilizar uno u otro?



Una diferencia más es que los campos tienen dirección y pueden pasarse
como argumentos por referencia, mientras que las propiedes no pueden. Aunque
la sintaxis de llamada es igual para campos que para propiedades, por
Reflexion pueden distinguirse, ya que los primeros se obtienen con GetFields
y las segundas con GetProperties. Esto afecta a ciertos controles que
muestran el contenido de objetos, por ejemplo, si asignas un array de
objetos de una clase al DataSource de un Grid, solo salen en las columnas
del Grid las propiedades, pero no los campos.

La recomendación es usar propiedades para representar el estado de una
clase que sea públicamente accesible (es decir, no usar campos públicos),
mientras que el estado privado se puede guardar en campos (o usar
propiedades privadas si se requiere controlar algo en el gety el set).
Respuesta Responder a este mensaje
#2 langosta
01/04/2010 - 22:29 | Informe spam
"CG" escribió en el mensaje de noticias
news:
Visual C# 2008

Hola a todos

En la implementación de Clases surge una duda. Sin desmerecer el hecho
de
que Los Campos no son suceptibles de validar los datos asignados y en
cambio
las Propiedades propiamente dichas sí, ¿Cuál es la diferencia entre
los
Campos y las Propiedades? ¿En qué casos utilizar uno u otro?

Desde ya Muchísimas Gracias

Carlos García




Una propiedad es data encapsulada. Sólo disponible a través de un
método. COM permite este tipo de data solamente. De ahí la necesidad
imperiosa (para un RAD, ok), de inventar un tipo con una sintaxis
conveniente para tratar con los accesores... digo, para poder usarlo
como si se tratara de un "campo" común.
Respuesta Responder a este mensaje
#3 Aguardientico
02/04/2010 - 01:15 | Informe spam
Estimado Carlos:

Una de las maximas de la programación orientada a objetos es la
encapsulación, por lo que, se recomienda nunca acceder directamente a un
campo (los campos siempre deberían ser privados) siempre se debe utilizar
propiedades (nombre dado a los getters y setters en .net) para acceder a los
campos.

Lo chevere de hacerlo así es que tu puedes cambiar la forma de leer o
escribir los datos (cambiar la implementación de las propiedades o cambiar
la representación interna de los campos) y los consumidores de tu clase no
tendran que hacer ningún cambio porque siempre llamaran a las propiedades.


Atte.

Gustavo Gonzalez
http://aguardientech.blogspot.com

"CG" wrote in message
news:
Visual C# 2008

Hola a todos

En la implementación de Clases surge una duda. Sin desmerecer el hecho de
que Los Campos no son suceptibles de validar los datos asignados y en
cambio
las Propiedades propiamente dichas sí, ¿Cuál es la diferencia entre los
Campos y las Propiedades? ¿En qué casos utilizar uno u otro?

Desde ya Muchísimas Gracias

Carlos García

__________ Information from ESET NOD32 Antivirus, version of virus
signature database 4993 (20100401) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com






__________ Information from ESET NOD32 Antivirus, version of virus signature database 4993 (20100401) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida