31-Propriedades set y get en C#


Propiedades y Encapsulación

El significado de Encapsulación es asegurarse de que los datos "sensibles" estén ocultos de los usuarios

para se lograr eso de debe hacer lo seguiente:

  • declarar campos/variables como private
  • proporcionar los métodos public get y set, a través de propiedades , para acceder y actualizar el valor de un campo private

...

Propiedades

Una propiedad es como una combinación de una variable y un método

Las propriedades tienen dos metodos: get y set

Ejemplo

class Person
{
  private string name; // Campo

  public string Name   // Propriedad
  {
    get { return name; }   // metodo get
    set { name = value; }  // metodo set
  }
}

Explicacin

La propriedad Name esta asociada al campo name

Nota: es una buena pratica usar letra mayuscula para los metodos, y el nombre ser igual al del campo

El metodo get devuelve un valor de la variable name

El metodo set asigna un valor a la variable name

la palabra value representa el valor que asignamos a la propriedad


Ahora podemos usar la propriedad Name para aceder y actualizar el campo private de la clase Person

Ejemplo

 class Person
 {
   private string name; // Campo
   public string Name   // propriedad
   {
     get { return name; }
     set { name = value; }
   }
 }
 
 class Program
 {
   static void Main(string[] args)
   {
     Person myObj = new Person();
     myObj.Name = "Marisa";
     Console.WriteLine(myObj.Name);
   }
 }
 // La salida es : Marisa



Propiedades automáticas

C# nos proporciona una forma que no tenemos que escribir el campo de la propriedad, solamente hay que escribir get y set dentro de la propriedad

Ejemplo

class Person
{
  public string Name  // propriedad
  { get; set; }
}

class Program
{
  static void Main(string[] args)
  {
    Person myObj = new Person();
    myObj.Name = "Marisa";
    Console.WriteLine(myObj.Name);
  }
}
 // La salida es : Marisa

Usamos la encapsulacion por los seguiente motivos:

  • Mejor control de los miembros de la clase (reduzca la posibilidad de que usted (u otros) estropeen el código)
  • Los campos se pueden hacer de solo lectura (si solo usa el método ) get
  • Los campos se pueden hacer de solo escritura (si solo usa el método ) set
  • Flexible: el programador puede cambiar una parte del código sin afectar otras partes
  • Mayor seguridad de los datos





Publicar un comentario

0 Comentarios