3
respostas

Dúvida com Get e Set e com Public e Private

Não entendi qual a diferença de usar public ou private nos códigos, o que muda neles ao mudar essa definição? Ademais, quando coloca-se um

"public int Exemplo {get; set;}"

(usando-se o "int" apenas como um exemplo), o que isso trará para o código? qual a diferença de usar o get e set e não usá-los? Obrigado desde já!

3 respostas

Opa, boa noite.

Os atributos e métodos de uma classe podem ser ou não utilizados por outros elementos do sistema, pra isso existem três níveis de visibilidade:

  1. public (Público) : aqui a propriedade ou método pode ser acessado de qualquer lugar do sistema.
  2. protected (Protegido) : este escopo é utilizado quanto você deseja que o método ou atributo seja visível apenas para classes que herdam a classe atual.
  3. private (Privado) : já aqui o atributo e o método são acessíveis apenas em sua própria classe.

Para entender melhor esse paradigma recomendo que dê uma olhada em algum material sobre Programação Orientada a Objetos.

Já o segundo ponto sobre o { get; set; } trata-se de um recurso para otimização de código, ou seja, se você utilizar esse recurso você não precisa especificar um getter ou setter para o atributo em questão, o próprio compilador irá fazer isso.

Digamos que por baixo dos panos o compilador irá fazer isso aqui:

public int Exemplo 
{
    get
    {
        return this.Exemplo;
    }
    set  {
        this.Exemplo = value;
    }
}

Entendi, muito obrigado pela rápida resposta!

Show !