Control de propiedades: get, set

17/07/2004 - 19:51 por Anonimo | Informe spam
Hola, alguien me puede explicar de forma clara el uso y
las ventajas de get y set como por ejemplo:

public string Clave {
get{
return clave;
}
set{
clave = value;
}

Muchas gracias de antemano.
 

Leer las respuestas

#1 Octavio Hernandez
18/07/2004 - 00:12 | Informe spam
En pocas palabras, las ventajas son:

1. (Para el creador de la clase) Puede garantizar el acceso y tratamiento
'disciplinado' de los datos, cosa que no se podría hacer si hubiera que usar
una variable pública. En tu mismo ejemplo, si tú quisieras que las claves
siempre se almacenaran en mayúsculas, y que los usuarios no pudieran asignar
cadenas de menos de 8 caracteres como claves, podrías lograrlo así:

public string Clave {
get{
return clave;
}
set{
if (clave.Length < 8)
throw new Exception("No se admiten claves cortas");
clave = value.ToUpper();
}

Si quieres que los usuarios sólo puedan consultar la propiedad, puedes
hacerla de sólo lectura (omitir completamente el set).

2. (Para los usuarios) Uso muy natural, como si fueran variables (atributos)
de los objetos. Si no existiera el concepto de propiedad en el lenguaje
(como ocurre en Java), habrá que estar llamando directamente a métodos
getXXX() y setXXX().

No sé si se me escapa algo, por ejemplo que las propiedades facilitan en
gran medida la programación visual.

Slds - Octavio

escribió en el mensaje
news:2e16001c46c26$b3505580$
Hola, alguien me puede explicar de forma clara el uso y
las ventajas de get y set como por ejemplo:

public string Clave {
get{
return clave;
}
set{
clave = value;
}

Muchas gracias de antemano.

Preguntas similares