Gostaria de uma explicação simples e objetiva para método get e set de variáveis, e ora que servem, já que podemos acessar elas diretamente?
Como falado pelo Joao é um principio de programação e boas práticas o Encapsulamento,
Você deixa sua variavel com acesso private ( Ex: private String nome;) e interage com ele através do getters e setters.
public String getNome (){ //aqui vocÊ declara que irá retornar uma string e o metodo nao recebe nada
return nome; //retornar a variavel da classe
}
public void setNome(String nome){ //return nada e passa uma string pra modificar a variavel da classe
this.nome = nome;//modifica a variavel da classe com this.
}
GET é quando vc quer pegar um valor, por exemplo um valor de um TextField.
SET é quando vc deseja setar ou enviar algo, algum valor.
Ex:
TextField nome = new TextField();
nome.setText("FULANO"); //aqui um exemplo de SET, que aplicará a string FULANO em NOME.
TextField trazNome = new TextField();
traznome.setText(nome.getText()); //exemplo de GET, que retornara o valor digitado em NOME
Veja no exemplo uma clase chamada cliente que se encontra no pacote de dominio
package dominio;
public class Cliente {
private String endereco, telefone;
Este é o metodo construtor
public Cliente(String endereco, String telefone) {
this.endereco = endereco;
this.telefone = telefone;
}
Neste bloco o método get pega o valor da variável endereco e retorna o valor
public String getEndereco() {
return endereco;
}
Neste bloco é enviado o valor do endereco que está na váriável para dentro da variável do método set
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}
Um dos principios de Programação Orientada a Objetos é o Encapsulamento, organizar os dados que sejam relacionados, agrupando-os (encapsulando-os) em objetos (classes), reduzindo as colisões de nomes de variáveis (dado que variáveis com o mesmo nome estarão em namespaces distintos) e, da mesma forma, reunindo métodos relacionados às suas propriedades (ou variáveis de classe). Este padrão ajuda a manter um programa com centenas ou milhares de linhas de código mais legível e fácil de trabalhar e manter.
Quando você atribui um modificador de acesso do tipo private em uma variável ou método, estes ficam acessíveis somente por seus metodos acessores e setadores, gets e sets. Fora da classe esses atributos e metodos so podem ser acessador por estes métodos.
Se um atributo ou método tiver seu modificador de acesso private, você não terá acesso a este se não houber um metodo com modificador de acesso do tipo public. Ex:
public class Cliente{
private int codigo;
private String nome;
public Cliente(int codigo,String nome){
this.codigo=codigo;this.nome=nome;
}
public String getNome(){return this.nome}
public void setNome(String nome){this.nome=nome}
}
public class main{
}
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar