Métodos getter e setter em Java

Por Elias Alves da Silva | 16/07/2013 | Tecnologia

Na linguagem Java existe o encapsulamento de propriedades por ser uma linguagem Orientado Objeto, que nada mais é do proteger as atributos e metodos existentes em uma determinada classe, você pode realizar isto criando as variáveis inserindo três tipos de encapsulamento: "private", "protected", "public".

Por padrão em Java as variáveis de uma classe, quando não declarada o encapsulamento desejado, são criadas sendo do tipo package, um tipo de encapsulamento que permite que o atributo ou metodo seja visto apenas pelo pacote em qual ele esta inserido.

Para criar uma variável com encapsulamento do tipo private ou protected, utilizamos os seguintes comandos:

public class pessoa{

            private int cpf;
            protected String nome;

}

Uma classe com duas variáveis uma do tipo inteiro e private, outra do tipo String e protected, apenas para o exemplo.

As variáveis criadas como private são vistas apenas pela classe a qual foi criada, ou seja, ao instanciar um objeto do tipo pessoa em uma outra classe não será possível alterar a variável (cpf), pois, a mesma é do tipo private, para obter acesso sobre este atributo da classe pessoa precisamos criar os métodos getter e setter para este atributo.

A classe ficará da seguinte maneira.

public class pessoa {
        private int cpf;
        protected String nome;
        
        public void setcpf(String nome){
                this.nome = nome;
        }

        public int getcpf(){
                 return this.cpf;
       }
}

Os métodos são utilizados para inserir e para ler o valor do atributo cpf da classe pessoa.
O metodo setcpf recebe o atributo nome e inseri no atributo nome da classe pessoa, o comando this é utilizado para definir que a variável que esta recebendo a variável passada no metodo.
O método getcpf retorna o valor do atributo nome.

O método protected faz com que a variável em questão possa ser acessada apenas pelas classes que fazem parte do pacote da classe pessoa, sendo assim, para qualquer outra classe que não faça parte do pacote da classe pessoa será necessário uutilizar os métodos get e set daquele atributo.


E assim encerro este artigo.