2
respostas

[Dúvida] Poderia me explicar um pouco mais detalhado de como funciona o Get e o Set?

Ainda estou na duvida do porque utilizar o get e o set ao invés de chamar somente a classe.variavel aonde desejo utilizar-la

2 respostas

Olá, Diego!

A utilização dos métodos get e set em C# está relacionada ao conceito de encapsulamento e propriedades. Vamos entender por que eles são usados em vez de acessar diretamente a variável da classe.

  1. Encapsulamento: O encapsulamento é um dos princípios fundamentais da programação orientada a objetos (POO). Ele visa proteger os dados internos de uma classe, permitindo que sejam acessados e modificados apenas de forma controlada. Isso ajuda a garantir a integridade dos dados e evita que código externo cause efeitos colaterais indesejados.

  2. Propriedades: Em C#, as propriedades são uma forma de fornecer acesso controlado aos campos internos de uma classe. Em vez de expor diretamente as variáveis, você define propriedades com os métodos get e set, que permitem controlar como os dados são lidos e escritos.

Aqui está um exemplo de como usar propriedades em C#:

public class MinhaClasse
{
    // Campo privado que será encapsulado pela propriedade
    private int minhaVariavel;

    // Propriedade para acessar e definir a variável
    public int MinhaPropriedade
    {
        get { return minhaVariavel; }
        set { minhaVariavel = value; }
    }
}

Agora, quando você quiser acessar ou definir o valor da variável minhaVariavel fora da classe, você usará a propriedade MinhaPropriedade:

MinhaClasse minhaInstancia = new MinhaClasse();

// Definindo o valor usando a propriedade
minhaInstancia.MinhaPropriedade = 10;

// Acessando o valor usando a propriedade
int valor = minhaInstancia.MinhaPropriedade;

Utilizar as propriedades ao invés de acessar diretamente a variável é uma boa prática, pois permite que você adicione lógica adicional (como validações ou tratamentos) no acesso ou modificação dos dados sem afetar o código externo que utiliza a classe. Além disso, em versões futuras da classe, se você precisar mudar a forma como os dados são armazenados ou manipulados internamente, você pode fazer isso sem alterar a interface pública da propriedade, mantendo a compatibilidade com o código existente.

entendi, muito obrigado Estudante, deu uma boa clareada agora.