Na linguagem PHP quando é desejado que um método não possa ser sobrescrito pelas suas subclasses, declara-se no método a palavra-chave:
- A)global.
Errada: global é usado para acessar variáveis globais em funções, não para bloquear sobrescrita de métodos.
- B)final.
Certa: final impede que o método seja sobrescrito por classes derivadas.
- C)endforeach.
Errada: endforeach é uma forma alternativa de fechar estruturas de repetição/controle, não tem relação com herança.
- D)require.
Errada: require inclui arquivos obrigatoriamente, não define comportamento de métodos em classes.
- E)abstract.
Errada: abstract indica que o método deve ser implementado na subclasse, então não impede sobrescrita.
Gabarito: B
No PHP, algumas palavras-chave mudam completamente o comportamento de classes e métodos. Quando a ideia é impedir que um método seja reescrito em uma classe filha, você usa a palavra-chave final. Ela “trava” o método, evitando override pelas subclasses, o que é útil quando a lógica não deve ser alterada por herança. Isso é diferente de abstract, que faz o oposto: obriga a classe filha a implementar o método. Já global serve para acessar variáveis globais dentro de uma função, e require é usado para incluir arquivos. Ou seja, cada termo tem sua função, e misturá-los costuma render erro de prova. Por isso, o gabarito B está correto: final é a palavra-chave do PHP para impedir a sobrescrita de um método por subclasses. Em concursos, a banca costuma cobrar exatamente essa associação direta entre palavra-chave e efeito na orientação a objetos. Se você lembrar de uma frase simples, fica fácil: abstract pede implementação, final bloqueia alteração.