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
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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
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.
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.
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.