Considere o programa desenvolvido na linguagem PHP (php.net)...
Considere o programa desenvolvido na linguagem PHP (php.net):

Sobre o programa acima:
I. A instrução da linha 28 não pode ser executada, pois o método decrementAge() só pode ser chamado por métodos dentro da mesma classe ou de classes que a herdarem.
Il. A instrução da linha 29 não pode ser executada, pois o método ageChanged() só pode ser chamado por métodos dentro da mesma classe.
Ill. Na linha 22, o método decrementAge() pode ser chamado dentro da classe SupernaturalPerson, pois ela está herdando os métodos da classe Person.
Está correto o que se afirma em:
Comentários
Veja os comentários dos nossos alunos
Questão passível de recurso.
A afirmativa II está incorreta: apesar de ageChanged() ser private, a linha 29 nem chega a ser executada. A execução é interrompida na linha 28, que gera erro fatal de acesso, pois decrementAge() é protected e está sendo chamado fora da classe.
Embora a afirmação da II ser válida isoladamente, no contexto da execução do código apresentado a justificativa não é uma explicação coerente, pois não é que a linha 29 não pode ser executada é que a execução do programa nunca vai chegar nela.
Logo, estão corretas apenas I e III — alternativa D.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo