1
resposta

Assinatura do método do exemplo de validação não tem parametros semelhantes

O instrutor criou uma interface com um método validar (para validar um aumento de salário de um funcionário) que não retorna nada e recebe como parâmetros um objeto do tipo Funcionario f e um BigDecimal aumento que seria o valor do aumento.

Ele criou uma classe ValidarPercentual, que utiliza os dois parâmetros para conferir se o percentual é válido perante a regra de negócio e a classe ValidarPeriodicidade que compara a data do ultimo aumento (Que é atributo de funcionário) com a data atual e checa se é valida de acordo com a regra, esta classe ValidarPeriodicidade não utiliza o segundo atributo BigDecimal referente ao valor do aumento então este exemplo não fez muito sentido para mim, gostaria de entender melhor.

1 resposta

Oi João,

O objetivo da interface é padronizar o método de validar o reajuste, além de permitir deixar o código flexível via polimorfismo.

O problema é que apenas na classe ValidacaoPeriodicidadeEntreReajustes o segundo parâmetro do método não foi necessário, pois essa validação em si checa apenas a data do último reajuste, independente do valor.

Não tem problema esse tipo de situação acontecer. O que seria ruim é se muitas(ou todas) as implementações não utilizassem algum parâmetro do método, indicando que ele realmente é desnecessário.

Bons estudos!