Ed
anteontem
Vamos analisar cada uma das alternativas em relação ao código apresentado: a) As classes ValidadorEmail e ValidadorCPF não podem implementar métodos diferentes, pois uma interface obriga todos os métodos a terem o mesmo comportamento. - Incorreto. As classes podem implementar o método da interface de maneiras diferentes, desde que respeitem a assinatura do método. b) A interface Validador atua como um contrato, garantindo que qualquer classe que a implemente possua o método validar. - Correto. Isso é exatamente o que uma interface faz: define um contrato que as classes devem seguir. c) O método validar deveria ser declarado apenas em uma classe abstrata, não sendo permitido em interfaces. - Incorreto. Em Java, é perfeitamente válido declarar métodos em interfaces. d) O uso de interfaces impede o polimorfismo, pois cada classe concreta precisa ser utilizada de forma isolada. - Incorreto. Na verdade, o uso de interfaces é uma das formas de se implementar polimorfismo em Java. e) Interfaces não podem conter métodos, apenas constantes, portanto o código apresentado é inválido. - Incorreto. Interfaces podem conter métodos (a partir do Java 8, podem até ter métodos default e static). Dessa forma, a alternativa correta é: b) A interface Validador atua como um contrato, garantindo que qualquer classe que a implemente possua o método validar.