Publicado em

Propriedades em C#

Partilhar:

Introdução

Em C#, como em muitas linguagens de programação orientadas a objetos, o encapsulamento é uma prática fundamental. Ele promove a proteção e a integridade dos dados ao restringir o acesso direto a eles. As propriedades desempenham um papel crucial neste aspecto.

O que são Propriedades?

Uma propriedade é um membro de uma classe que proporciona um mecanismo para obter ou definir o valor de um campo interno. Em vez de acessar diretamente o campo, pode-se usar propriedades para interagir com ele, garantindo que qualquer lógica associada à leitura ou escrita do campo seja respeitada.

Benefícios das Propriedades

  1. Encapsulamento: As propriedades ajudam a proteger os dados, evitando que sejam modificados de maneira indesejada.
  2. Validação: Antes de atribuir um valor, pode-se garantir que ele esteja dentro de um determinado intervalo ou que satisfaça outras condições.
  3. Representação Computada: As propriedades podem retornar um valor calculado em vez de um valor armazenado.

Profundidade em get e set

  • get: Este acessor é utilizado quando se lê o valor da propriedade. Pode-se adicionar lógica adicional, como cálculos ou transformações, antes de retornar o valor.
  • set: Este acessor entra em ação quando se tenta modificar o valor da propriedade. É aqui que a validação ou outras lógicas relacionadas à modificação do valor ocorrem.

Propriedades Somente Leitura e Somente Escrita

  • Somente Leitura: Uma propriedade que apenas define o acessor get.
  • Somente Escrita: Embora raras, são propriedades que apenas definem o acessor set.

Exemplos Avançados

Além do exemplo básico, vamos explorar um pouco mais:

public class Circulo {
  private double raio;

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

  // Propriedade somente leitura
  public double Area {
    get {
      return Math.PI * raio * raio;
    }
  }
}

Neste exemplo, temos uma classe Circulo que possui uma propriedade Raio e uma propriedade somente leitura Area. O Raio não pode ser negativo, e a Area é calculada com base no Raio.

Conclusão

O uso correto de propriedades em C# é essencial para garantir que os dados sejam manipulados de maneira segura e controlada. Elas oferecem uma maneira estruturada de interagir com os campos de uma classe, mantendo a integridade dos dados e oferecendo flexibilidade na implementação.

Happy coding!