Na linguagem PHP, a declaração da interface “otpx” que deri...
classes implementam interfaces
classes estendem classes
interfaces estendem interfaces
✍ GABARITO(D) ✅
- No PHP, uma classe pode estender uma única classe, podendo implementar qualquer número de interfaces. Q1147754
- Sobre interfaces na linguagem Java, é correto afirmar que uma interface pode estender o conteúdo de outra interface, mas não pode implementá-la.Q314836
Alternativa correta: D - interface otpx extends xpto
Vamos entender o motivo dessa resposta ser a correta e abordar um pouco sobre interfaces em PHP. Em programação orientada a objetos, uma interface é um contrato que define um conjunto de métodos públicos sem implementar suas funcionalidades. As classes ou interfaces que assinarem esse contrato, no caso de interfaces, devem implementar todos os métodos definidos pela interface.
No PHP, as interfaces são definidas usando a palavra-chave interface e a herança entre interfaces é feita mediante o uso da palavra-chave extends. Isso é análogo à herança de classes, mas quando estamos lidando com interfaces, não é uma "herança" no sentido tradicional (pois não há implementação sendo herdada), mas sim a extensão de um contrato.
A opção A está incorreta porque utiliza a palavra-chave class, que é usada para definir classes e não interfaces. A opção B também incorre no mesmo erro e, além disso, usa a palavra implements que é usada por classes quando querem implementar a interface, não por outras interfaces.
A opção C está errada porque, apesar de usar a palavra-chave interface, usa também a palavra implements, o que é um equívoco, já que interfaces não implementam outras interfaces, elas as estendem.
A opção D é a correta pois expressa corretamente a relação de herança entre interfaces em PHP, onde a interface "otpx" estende a interface "xpto" usando a sintaxe correta interface otpx extends xpto.
Por fim, a opção E está errada, pois inverte a relação de herança, sugerindo que a interface "xpto" é que deveria implementar "otpx", o que é conceitualmente incorreto porque, como dito anteriormente, interfaces não implementam, elas definem um contrato a ser implementado ou estendido.
Espero que a explicação tenha ajudado a esclarecer como as interfaces funcionam em PHP e por que a alternativa D é a correta nesta questão. Se tiver mais alguma dúvida, fique à vontade para perguntar!