Questão nº 41
Questão de Engenharia de Software · FCC TST 2017 (nº 41)
No PHP 7 as interfaces especificam quais métodos uma classe deve implementar. As interfaces
- Apodem ser estendidas como as classes, usando o operador `extends`. (alternativa correta)
- Bpodem ter métodos declarados como públicos, privados ou protegidos.
- Cnão podem ser implementadas por mais de uma classe.
- Dpodem conter métodos implementados e métodos abstratos.
- Enão podem conter nem variáveis nem constantes.
Resposta comentada
Gabarito Alternativa A
Interfaces em PHP são como "contratos" que definem um conjunto de métodos que uma classe deve implementar, sem fornecer a lógica desses métodos. Elas garantem que classes diferentes, ao seguir o mesmo contrato, terão um comportamento mínimo esperado.
A) Correta: Interfaces podem estender outras interfaces usando o operador `extends`. Isso permite criar hierarquias de contratos, onde uma interface herda os métodos de outra e pode adicionar novos requisitos.
B) Incorreta: Métodos declarados em interfaces são implicitamente públicos e não podem ser definidos como `private` ou `protected`, pois o objetivo é que sejam implementados e acessíveis externamente.
C) Incorreta: Uma interface pode ser implementada por quantas classes forem necessárias. Além disso, uma única classe pode implementar múltiplas interfaces.
D) Incorreta: Interfaces definem apenas a assinatura dos métodos (nome, parâmetros, tipo de retorno), mas não a implementação (o corpo do método). Elas não podem conter métodos implementados.
E) Incorreta: Interfaces não podem conter variáveis (propriedades de instância), mas podem conter constantes. A armadilha da banca é a palavra "nem", que torna a afirmação falsa, pois constantes são permitidas.
Fonte: FCC TST 2017 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.