Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

set e get para Data

os metodos setters e getters do objeto Data não deveriam ser criados na classe Data?

4 respostas

Boa noite Felipe, não estou realizando este curso, mas teoricamente sim.

Você pode compartilhar o código para que eu olhe com você?

Olá Felipe, o meu código é o seguinte

class Funcionario{
    private String nome;
    private String departamento;
    private double salario;
    private Data dataEntrada = new Data();
    private String rg;

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

    public void setDepartamento(String dep){
        this.departamento = dep;
    }

    public String getDepartamento(){
        return this.departamento;
    }

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

    public double getSalario(){
        return this.salario;
    }

    public void setData(Data d){
        this.dataEntrada = d;
    }

    public Data getData(){
        return this.dataEntrada;
    }

    public void setRg(String r){
        this.rg = r;
    }

    public String getRg(){
        return this.rg;
    }

    public void recebeAumento(double aumento){
        this.salario += aumento;
    }

    public double getGanhoAnual(){
        return this.salario * 12;
    }

    public double somaDecimoTerceiro(){
        return this.getGanhoAnual() + this.salario;
    }

    public void mostra(){
        System.out.println("Nome: " + this.nome);
        System.out.println("Departamento: " + this.departamento);
        System.out.println("Salario: "+ this.salario);
        System.out.println("Data de Entrada: " + this.dataEntrada);
        System.out.println("RG: " + this.rg);

        System.out.println("Data de entrada: " + this.dataEntrada.getFormatada());
    }
}

No caso os getters e setter para o objeto Data foram criado para que a classe Funcionario possa receber o objeto Data, ou seja, em uma classe de teste você irá criar um objeto do tipo data e passar para o seu objeto Funcionario por meio do setter e quando você quer buscar alguma coisa deve ir pelo meio do getter, esse não é o melhor exemplo, pelo que me lembro mais para a frente você irá criar o objeto Data dentro da classe Funcionario.

Em resumo, o getter e o setter estão aí somente para você passar ou recuperar um objeto do tipo Data do Funcionário.

Espero ter ajudado.

solução!

Isso mesmo Joel, está muito bem explicado. Eu só acrescentaria explicando o que é o getter and setter.

O método getter é utilizado para recuperar a informação ou valor de algum atributo, sem ter que utilizar o atributo diretamente. O Método setter é utilizado para setar um valor dentro deste atributo.

Isto é um dos principios de Orientação a Objeto.

E segundo o código do Joel, você quer settar ou pegar o valor do atributo dataEntrada...

private Data dataEntrada = new Data();

...que é do tipo Data e que será instanciado na sua classe main. Por isso o motivo deles serem criados na classe Funcionario. O atributo esta sendo criado nela, logo os getters and setter tbm.

Ótima explicação, estou em fase de assimilação do paradigma ainda. Estarei praticando para melhorar, obrigado!