1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Dúvida sobre get e set

Pessoal, difícil entender esse tal de encapsulamento com get e set. Sei que os usamos principalmente por causa da segurança, mas é difícil entender quando usá-los. Para que devo usar o método set para apenas alterar o valor de uma variável?

Abaixo tenho um exemplo de uma classe para exemplificar minha dúvida. Para que usar o método set, para apenas mudar o valor das variáveis, nome, id, etc?

public class Funcionario {
    private String nome;
    private int ID;
    private double salario;

    public Funcionario( String nome, int ID, double salario){
        setNome(nome);
        setID(ID);
        setSalario(salario);
    }

    public void exibir(){
        System.out.printf("O funcionário %s, de número %d recebe %.2f por mês", getNome(),getID(),getSalario());
    }

    public void setNome( String nome ){
        this.nome = nome;
    }

    public void setID( int ID ){
        this.ID = ID;
    }

    public void setSalario( double salario ){
        this.salario = salario;
    }

    public String getNome(){
        return nome;
    }

    public int getID(){
        return ID;
    }

    public double getSalario(){
        return salario;
    }
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags get segurança ou faça a sua própria pergunta.