E$t = new Time();$t.set_n('Flamengo');$t.set_c('Red');
Revelar gabarito e comentário▾
GabaritoA — $t = new Time();
$t->set_n('Flamengo');
$t->set_c('Red');
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
PHP – Sintaxe de Objetos
Gabarito: letra A. Para que o código funcione conforme a saída "Time: Flamengo" e "Cor: Red", as linhas omitidas devem instanciar a classe Time com new e chamar os métodos set_n e set_c usando o operador ->. A única alternativa que emprega essa sintaxe corretamente é a letra A.
A questão testa o conhecimento da sintaxe básica de orientação a objetos em PHP: criação de objetos com new e invocação de métodos com -> (seta). É comum que candidatos confundam com outras linguagens (JavaScript usa ponto, por exemplo).
NÃO CAIA NESSA!
A banca explora a troca do operador -> (seta) por outros símbolos: . (ponto) na alternativa E, como em JavaScript ou Python; := na alternativa C; <- na alternativa D. Além disso, na alternativa B, o método é chamado como se fosse uma função comum (atribuição direta). Lembre-se: em PHP, métodos de objeto SEMPRE usam $objeto->metodo().
Alternativa A — ✅ Correta ⟵ GABARITO
$t = new Time(); cria um novo objeto da classe Time. $t->set_n('Flamengo') e $t->set_c('Red') chamam os métodos da instância corretamente. Esta é a sintaxe padrão do PHP.
Alternativa B — ❌ Incorreta
A primeira linha $t = new Time; é válida (parênteses são opcionais quando não há argumentos), mas as duas linhas seguintes estão erradas: $t = set_n('Flamengo'); trata set_n como uma função independente e sobrescreve $t com o retorno (que seria null, pois a função não existe). O correto seria $t->set_n('Flamengo').
Alternativa C — ❌ Incorreta
O operador := não existe em PHP. Para chamar um método, usa-se ->. Portanto, $t := set_n('Flamengo') é inválido.
Alternativa D — ❌ Incorreta
$t<-new Time; usa <-, que não é operador em PHP. A instanciação deve ser $t = new Time; ou $t = new Time();.
Alternativa E — ❌ Incorreta
O ponto . em PHP é o operador de concatenação de strings, não de chamada de método. $t.set_n('Flamengo') tenta concatenar o objeto com o resultado da função, o que é inválido. Métodos são chamados com ->.