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
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.