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

Algum problema em usar o atributo DataDeEntrada desta forma?

Eu queria saber se está correto eu usar desta forma para "mexer" com o atributo DataDeEntrada na classe TesteFuncionario. Abaixo está o código que fiz. Obrigado!!

public class TesteFuncionario {

    public static void main(String[] args) {
        Funcionario f1 = new Funcionario();


        f1.setNome("Gustavo"); 
        f1.setSalario(2000);
        f1.recebeAumento(200);

        f1.setDataDeEntrada(new Data());                    //Aqui está a dúvida
        f1.getDataDeEntrada().preencheData(24, 12, 2016);

        f1.mostra();


     }
}
3 respostas

Pode ser assim também :). O mais comum seria vc guardar a data numa variável, mexer nela e depois passar para o setDataDeEntrada.

Olá João! Assim como você, estou cada vez mais me aperfeiçoando na linguagem e dúvidas como a sua são sempre boas para contribuir.

Você está a um passo de trabalhar com Construtores... Você verá em breve.

Minha experiência: seu raciocínio está certo mas é importante você ver os primeiros passos (trabalhar com a manipulação de variáveis no método, como disse o Alberto).

Bons estudo. Fique firme que você, assim como eu, chegaremos lá!

Nos vemos no topo ;-)

solução!

Oi Gustavo poder pode sim, mas você teria que fazer algumas adaptações a seguir:

1 - Como Data não tem construtor, somente um método que preencheData(int dia, int mes, int ano), você teria que usá-lo para setar a sua dataDeEntrada;

f1.setDataDeEntrada(new Data().preencheData(24,12,2016));

2 - O nosso setDataDeEntrada pede uma Data e acredito que seu método preencheData seja void() se sim altere o tipo de retorno, teremos que modificar o nosso método preencheData para retornar uma Data para nosso setDataDeEntrada funcionar:

Data preencheData (int dia, int _mes, int _ano){
        Data dataPreenchida = new Data();
        this.dia=_dia;
        this.mes=_mes;
        this.ano=_ano;
        return dataPreenchida;
    }

3 - O seu método get serve para "pegar" o valor e você tá pedindo pra preencher, o correto seria lá no mostra() você utilizar ele pra pegar as informações e não setar a data nele:

         public Data getDataDeEntrada() {
            return this.dataDeEntrada;
        }

4 - Aí bastaria você adicionar mais uma linha no mostra pra imprimir o objeto:

public void mostra(){
        // Outras impressões
            System.out.println("Data: "+this.getDataDeEntrada().dia+"/"+this.getDataDeEntrada().mes+"/"+this.getDataDeEntrada().ano);
        }

Ajudei ?