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

Atributo no Método

Prezados,

Eu apliquei o metodo recebeAumento da seguinte forma:

  void recebeAumento(double valor){
        double novoSalario= this.salario + valor;
        this.salario += valor;
    }

Percebi que a forma correta, não necessita do atributo novoSalario. Ou seja, só assim basta:

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

Porque ? Eu não teria que recalcular o salario com base no aumento ? Desculpe a minha ignorancia.

Abraços. Vitor

3 respostas
solução!

Oi Vitor, no primeiro fragmento de código que vc postou, você não está usando a variável novoSalario, percebe que você está declarando ela, colocando um valor nela, mas após isso nada acontece com ela, esse código vai continuar funcionando do mesmo jeito, mesmo que vc apagar essa linha. O que você poderia fazer é:

void recebeAumento(double valor){
        double novoSalario= this.salario + valor; //soma o valor ao salario
        this.salario = novoSalario; //atualiza o valor do salario do funcionario
}

As duas formas são apenas formas diferentes de fazer a mesma coisa, o resultado será o mesmo e nesse caso, como o código é bem simples vai do programador escolher qual abordagem usar.

Abraços!

Olá Vitor,

Faz bastante sentido você sentir essa necessidade da variável por que faz deixar seu código mais intuitivo.

Mas veja que usando a variável que você criou, você deveria usá-la assim:

  void recebeAumento(double valor){
        double novoSalario= this.salario + valor;
        this.salario = novoSalario;
    }

Que significa: Calcula novo salario, e depois atribui o valor para this.salario.

Assim, você está usando a variável que você criou. E como falei, este pensamento está muito bom, pois quando temos um código mais complexo, fazendo desse jeito deixa o código mais intuitivo.

Contudo nesse caso, só precisamos fazer 1 cálculo. e uma atribuição. Que é algo bem comum. Por isso, preferimos calcular e atribuir numa linha só, como na resposta.

void recebeAumento(double valor){
        this.salario += valor; //lembrado que esta linha é igual a this.salario = this.salario + valor
    }

Se tivessemos mais operações com esse valor e precisássemos usá-lo em outras funções por exemplo. Ficaria mais clara a necessidade de usar a variável.

Valeu galera, melhorou o meu entendimento !!