5
respostas

Está certo dessa forma?

Olá pessoal. Funcionou, mas está coerente dessa maneira? Alguma observação? Obrigado.

class Funcionario {
    String nome;
    String departamento;
    double salario;
    String dataEntrada;
    String rg;

    void recebeAumento(double meuAumento){
        double salarioFinal = this.salario + meuAumento;
        this.salario = salarioFinal;
    }

    void calculaGanhoAnual(){
        double ganhoAnual = this.salario * 12;
        System.out.println(ganhoAnual);
    }

}

class Banco {
    public static void main (String[] args){

        Funcionario meuFuncionario = new Funcionario();
        meuFuncionario.nome = "João da Silva";
        meuFuncionario.departamento = "Gerência";
        meuFuncionario.salario = 6200.43;
        meuFuncionario.dataEntrada = "12/05/2001";
        meuFuncionario.rg = "1999282929";

        meuFuncionario.recebeAumento(550.20);

        System.out.println (meuFuncionario.salario);

        meuFuncionario.calculaGanhoAnual();

    }
}
5 respostas

Você pode reduzir o tamanho dos métodos de Funcionário:

 double recebeAumento(double meuAumento){
        return this.salario + meuAumento;
    }

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

E alterar a classe Banco:

 System.out.println(meuFuncionario.salario);   System.out.println(meuFuncionario.calculaGanhoAnual());

Desta forma você delega a responsabilidade de exibir na tela somente para a classe banco e ainda reduz o tamanho do código.

Boa. Obrigado pela dica.

Oi Rodrigo! Me parece que você não tem mais dúvidas nesse tópico, por isso vou marcar ele como resolvido.

Caso precise, você pode sempre abrir um novo tópico aqui no fórum.

Estou com dúvida quanto aos métodos. No exercício anterior foi usado apenas " void nomeDoMetodo " enquanto na resolução deste exercício foi utilizado "public void nomeDoMetodo" e "public double nomeDoMetodo" . Por que essas diferenças? Obrigada.

Oi Diana, nesse caso não existe certo ou errado, a assinatura do método depende do que você quer dele, o formato da assinatura é esse:

[modificador de acesso] [tipo do retorno] nomeDoMetodo()

O public é um modificador de acesso, ele diz que esse método pode ser usado por qualquer outra classe do sistema. Quando você não coloca nada como modificador de acesso ele é por padrão acessível de qualquer classe que está no mesmo pacote que a classe do método, outro modificador de acesso seria o private por exemplo.

O void foi usado pq aquele método em específico não retorna nada, e o double foi usado pq nesse caso o retorno do método foi um número decimal

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software