Questão
ID 1410186Disciplina: Tecnologia da Informação
Assunto: PHP
Ano: 2018 Banca: UFRJ - Universidade Federal do Rio de Janeiro Órgão: Universidade Federal do Rio de Janeiro
Considere o trecho de código em PHP a seguir, para responder às questões 59 e 60.
1. _____ interface Padrao {function conferencia(\$aluno);}
2.___ class Alunos{
3.______ public \$alunos = array(), \$listen = array ();
4.______ public function addAluno(\$aluno){
5._______ \$this->alunos[] = \$aluno;
6._______ \$this->notificar(\$aluno);
7.______ }
8.______ public function notificar(\$aluno){
9._______ foreach (\$this->listen as \$1)
10._______ \$1->conferencia(\$aluno);
11.______ }
12.______ public fuction addPadrao(\$1){
13._______ \$this->listen[] = \$1;
14.______ }
15._____ }
16._____ class AlunoListenNota implements Padrao {
17.______ public function conferencia(\$aluno){
18._______ if (\$aluno->nota <5.0)
19.________ echo \$aluno->nome."Reprovado (".\$aluno →nota.")!";
20._____ }
21.____ }
22.____ class AlunoListenNome implements Padrao {
23._____ function conferencia(\$aluno){
24.______ if (strlen(\$aluno->nome) ==0)
25._______ echo "Propriedade Nome vazia! ";
26.____ }
27.___ }
Considerando a correta implementação da classe Alunos e da definição de outros métodos auxiliares (como os métodos Getter e Setter), assinale a alternativa que apresenta o resultado, em conteúdo e ordem, da execução do seguinte trecho de código:
\$alunos = new Alunos();
\$alunos->addPadrao(new AlunoListenNota());
\$alunos->addPadrao(new AlunoListenNome());
\$alunos->addAluno(new Aluno(“Aluno Um”, 4.6));
\$alunos->addAluno(new Aluno(“”, 9.0));