Uso de propiedades para acceder a los atributos de objetos en C#
Al momento de acceder a los atributos de una clase, podemos usar métodos para asignar y obtener dichos datos (normalmente llamados getters y setters). En C Sharp podemos usar una característica llamada ‘propiedades’, por medio de la cual declaramos un alias de acceso público para los atributos de acceso privado.
Me explico. Cuando declaramos atributos en una clase, lo más aconsejable es crearlos con el modificador de acceso private. Por tal motivo no es posible acceder a dichos atributos directamente desde el objeto (de la manera: objeto.atributo), porque como vimos en esta entrada nos arrojará errores de compilación.
Aquí es cuando las ‘propiedades’ son especialmente útiles. Una propiedad es como un alias que nos permite acceder a los atributos de manera segura, y con la que nos ahorramos tiempo y espacio en nuestro código. Vamos directamente con un ejemplo, y posteriormente una breve explicación del mismo.
Clase de ejemplo, que implementa una ‘propiedad’ para acceder al atributo:
public class Clase {
//atributo
private int variable;
//constructor
public Clase(int variable) {
this.variable = variable;
}
//declaracion de la propiedad
public int atributo{
//get sirve para devolver el valor del atributo
get{
return variable;
}
//set sirve para cambiar el valor del atributo
set{
variable = value;
}
}
}
En la línea 9 tenemos la declaración de la propiedad; en dicha declaración debemos especificar un nombre (diferente al del atributo al que vamos a acceder), y un tipo (en este caso int, entero). Dentro de la propiedad tenemos dos bloques: get y set. Dentro de get debemos poner los valores a retornar cuando se acceda a la propiedad; mientras que en set podemos usar la palabra clave value para asignar un valor al atributo.
En la siguiente clase se utiliza la propiedad de la clase anterior, para obtener y modificar los valores del atributo:
using System;
public class Propiedades {
public Propiedades() {
//declaracion del objeto
Clase objeto = new Clase(5);
//obteniendo el valor de la variable 'variable'
//usando la propiedad 'atributo' (se usa el bloque get)
Console.WriteLine("El atributo del objeto es "+ objeto.atributo);
Console.WriteLine("Cambiando el valor usando la propiedad 'atributo'...");
//cambiando el valor de la variable 'variable'
//usando la propiedad 'atributo' (se usa get)
objeto.atributo = 10;
Console.WriteLine("Ahora el atributo del objeto es "+ objeto.atributo);
}
static void Main(string[] args){
new Propiedades();
}
}
Como puedes observar, es posible obtener y modificar los datos de un atributo privado usando una ‘propiedad’ pública, y todo de una manera totalmente segura, puesto que dentro de la ‘propiedad’ podemos verificar la consistencia de los datos.
El resultado…
Cambiando el valor usando la propiedad ‘atributo’…
Ahora el atributo del objeto es 10
6 Comentarios | deja el tuyo



Amigo, sabes programar en Prolog (Programacion Logica) ?
etiendoEsto(X):- seProlog(X).
seProlog(‘Si’).
seProlog(‘No’).
seProlog(‘No’).
Gracias por el atributo me servira de mucho en realidad se nota q tenes una logiga de programador my buena,de nuevo gracias.
Creo que las propiedades a diferencia de las variables deben ir siempre con la primera letra en mayúsculas…
public int Atributo {
//….
}
Gracias por el tutorial…
Muchas gracias por tu aclaración, Bohorquez.
Un saludo!