Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Encapsulamento as propriedades Get/Set fazem diferença ao usar com Public ?

Não entendi direito usar as propriedades Get e Set com o atributo definido como Public faz diferença ?

Caso não faça, então porque usar Private ?

1 resposta
solução!

Vamos imaginar uma classe com uma propriedade:

public class Exemplo
{
    public int PropriedadeExemplo { get; set;}    
}

Neste exemplo a propriedade "PropriedadeExemplo" foi declarada como publica e pode ser acessada por outras classes no nosso sistema e, como os métodos "get" e "set" não tem nenhuma declaração, fica implícito que eles também são públicos, ou seja, as outras classes do seu sistema podem recuperar a informação e alterar a informação desta propriedade.

Quando você define os metodos get ou set da propriedade como privados, você esta dizendo que apenas a própria classe pode alterar ou recuperar a informação da propriedade, ou seja, as outras classes terão acesso a propriedade mas não poderão alterar ou recuperar a informação.

Exemplo:

Outras classes podem recuperar a informação que esta na propriedade mas NÃO podem alterar:

public class Exemplo
{
    public int PropriedadeExemplo { get; private set;}    
}

Outras classes NÃO podem recuperar a informação que esta na propriedade mas podem alterar:

public class Exemplo
{
    public int PropriedadeExemplo { private  get; set;}    
}

Para finalizar os níveis de acesso que você pode dar para uma classe, método ou propriedade são:

public: o acesso não é restrito.

protected: o acesso é limitado à classe que os contém ou aos tipos derivados da classe que os contém.

Internal: o acesso é limitado ao assembly atual.

protegido interno: o acesso é limitado ao assembly atual ou aos tipos derivados da classe que os contém.

private: o acesso é limitado ao tipo recipiente.

Mais Informações:

https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/access-modifiers

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software