Minha dúvida está na aula 01 do curso "Java: trabalhando com lambdas, streams e Spring Framework", gostaria de saber o porquê da escolha no uso de Interface para a implementação do método converterDados()
na interface IConverteDados
, ao invés de somente declará-lo dentro da classe ConverteDados
, e não precisar sobrescrevê-lo.
Eu entendo da importância da programação orientada a Interfaces, explicada na formação de Java anterior, mas neste caso em específico fiquei muito em dúvida, já que era somente um método e este condizia exatamente com a semântica que o nome da classe ConverteDados
transparecia.
Segue o código:
public interface IConverteDados {
<T> T converterDados(String json, Class<T> classe);
}
public class ConverteDados implements IConverteDados{
private ObjectMapper mapper = new ObjectMapper();
@Override
public <T> T converterDados(String json, Class<T> classe) {
try {
return mapper.readValue(json, classe);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
}