Saltar al contenido principal
Publicado el

Propiedades en C#

Compartir:

Introducción

En C#, como en muchos lenguajes de programación orientados a objetos, la encapsulación es una práctica fundamental. Promueve la protección y la integridad de los datos al restringir el acceso directo a ellos. Las propiedades desempeñan un papel crucial en este aspecto.

¿Qué son las Propiedades?

Una propiedad es un miembro de una clase que proporciona un mecanismo para obtener o establecer el valor de un campo interno. En lugar de acceder directamente al campo, se pueden usar propiedades para interactuar con él, garantizando que se respete cualquier lógica asociada a la lectura o escritura del campo.

Beneficios de las Propiedades

  1. Encapsulación: Las propiedades ayudan a proteger los datos, evitando que sean modificados de manera indeseable.
  2. Validación: Antes de asignar un valor, se puede garantizar que esté dentro de un determinado rango o que satisfaga otras condiciones.
  3. Representación Calculada: Las propiedades pueden devolver un valor calculado en lugar de uno almacenado.

Profundidad en get y set

  • get: Este accesor se utiliza cuando se lee el valor de la propiedad. Se puede añadir lógica adicional, como cálculos o transformaciones, antes de devolver el valor.
  • set: Este accesor entra en acción cuando se intenta modificar el valor de la propiedad. Aquí es donde ocurren la validación u otras lógicas relacionadas con la modificación del valor.

Propiedades de Solo Lectura y Solo Escritura

  • Solo Lectura: Una propiedad que únicamente define el accesor get.
  • Solo Escritura: Aunque poco frecuentes, son propiedades que únicamente definen el accesor set.

Ejemplos Avanzados

Más allá del ejemplo básico, exploremos un poco más:

public class Circulo {
  private double radio;

  public double Radio {
    get { return radio; }
    set {
      if (value < 0)
        radio = 0;
      else
        radio = value;
    }
  }

  // Propiedad de solo lectura
  public double Area {
    get {
      return Math.PI * radio * radio;
    }
  }
}

En este ejemplo, tenemos una clase Circulo que posee una propiedad Radio y una propiedad de solo lectura Area. El Radio no puede ser negativo, y el Area se calcula en función del Radio.

Conclusión

El uso correcto de las propiedades en C# es esencial para garantizar que los datos se manejen de manera segura y controlada. Ofrecen una forma estructurada de interactuar con los campos de una clase, manteniendo la integridad de los datos y brindando flexibilidad en la implementación.

Happy coding!