Campos em uma classe são variáveis a nível de classe que podem conter um valor. Geralmente, os membros do campo devem ter um modificador de acesso privado e usados com uma propriedade.
Eita, entendeu alguma coisa? Vamos tentar novamente…
Propriedades expõem Campos. Campos em uma classe devem (quase sempre) ser mantidos privados e acessados através do get e set de uma propriedade.
Mas para que serve afinal?
Para que usar campos em uma classe?
Os campos de uma classe servem para armazenar dados que devem ser acessíveis a mais de um método de uma classe e devem ser armazenados por mais tempo que a vida útil de qualquer método.
Vamos ver um exemplo para ilustrar.
Imagine que vamos construir uma classe que represente uma pessoa, como nome e sobrenome:
Class Pessoa { private string _nome; private string _sobrenome; }
Os dados nome e sobrenome são inerentes a classe. Desta forma, todos os métodos que criarmos dentro desta classe poderão acessa-las e, o mais importante, o valor não se perderá.
Vamos incluir alguns métodos:
class Pessoa { private string _nome = “Celso”; private string _sobrenome = “Kitamura”; string Nome() { return _nome; } string NomeCompleto() { return string.Format(“{0} {1}”, _nome, _sobrenome); } }
Assim o valor dos atributos nome e sobrenome se mantém o mesmo quando chamamos o método Nome() ou o método Sobrenome().
E como fazemos para escolher o nome e sobrenome que quisermos?
Podemos criar “acessadores” para estes campos:
class Pessoa { private string _nome; private string _sobrenome; string Nome { get { return _nome;} set {_nome = value;} } string Sobrenome { get { return _sobrenome;} set {_sobrenome = value;} } String NomeCompleto() { return string.Format(“{0} {1}”, _nome, _sobrenome); } }
Posso criar campos em uma classe e deixa-la pública?
Caramba, então porque ao invés de criar um campo e uma propriedade eu não posso fazer o seguinte?
public Nome() As String
Não é muito mais fácil e rápido?
Em teoria, sim, podemos criar um campo do tipo público ao invés de um campo e uma propriedade…
O que você precisa saber por hora é que criar um campo e uma propriedade correspondente para acessar e manipular seu valor é uma boa prática de programação, uma das “melhores práticas” que sempre vemos por aí mas poucos os seguem… [um parênteses aqui… pelo fato de vários programadores não seguirem as boas práticas, pode ter certeza que você será um profissional muito mais conceituado no mercado se segui-las].
Existem muitas outras razões para esta “regra” (uma delas é a possibilidade de validar seu valor antes de atribuir o valor ao campo), mas essa é uma discussão um pouco longa para agora então vamos deixa-la para um próximo artigo..re re…
Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!
Olha o link: 👉🏼 http://celsokitamura.com.br/como-aprender-a-programar
Bora aprender a programar!