Pular para o conteúdo principal

Questão de Programação — PHP — FUNDATEC 2023

ProgramaçãoPHP
Código
qq892782
Banca
FUNDATEC
Órgão
GHC-RS
Ano
2023
Nível
Médio
Cargo
Programador
Observe o seguinte trecho de código abaixo, que foi extraído de um arquivo “.php”:(...)$pessoa1 = new Pessoa("Pedro", 20);$pessoa2 = new Pessoa("Maria", 19);echo pessoa1>getNome().",".pessoa1->getNome().",".pessoa1->getIdade();echo pessoa2>nome.",".pessoa2->nome.",".pessoa2->idade;Assinale a alternativa em que consta, respectivamente, um exemplo de classe, objeto, propriedade e método.
  1. APessoa, $pessoa, nome e idade.
  2. BPessoa, $pessoa2, nome e getNome.
  3. CPessoa, Pessoa2, getNome e getIdade.
  4. D$pessoa2, $idade, $this e getIdade.
  5. E$pessoa1, $nome, “Pedro” e getNome.
Revelar gabarito e comentário

GabaritoB — Pessoa, $pessoa2, nome e getNome.

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”.

Programação Orientada a Objetos em PHP – Classe, Objeto, Propriedade e Método

Gabarito: letra B. No trecho de código, Pessoa é a classe, $pessoa2 é um objeto (instância), nome é uma propriedade (acessada diretamente) e getNome é um método (invocado com ->getNome()). A alternativa B apresenta exatamente essa sequência: classe, objeto, propriedade e método.

O código instancia dois objetos da classe Pessoa e demonstra duas formas de acesso: via método ($pessoa1->getNome()) e via propriedade pública ($pessoa2->nome). A questão testa a capacidade de identificar corretamente esses elementos da orientação a objetos.

Alternativa A — ❌ Incorreta

Apresenta $pessoa como objeto, mas no código as variáveis são $pessoa1 e $pessoa2. Não há $pessoa definida. Além disso, nome e idade são propriedades, não uma propriedade e um método respectivamente (faltou um método).

Alternativa B — ✅ Correta ⟵ GABARITO

Pessoa (classe), $pessoa2 (objeto), nome (propriedade) e getNome (método) – exatamente o que o enunciado pede e o que aparece no código.

Alternativa C — ❌ Incorreta

Pessoa2 não é um objeto; o objeto é $pessoa2. Além disso, getNome e getIdade são ambos métodos – a sequência esperada era propriedade e método.

Alternativa D — ❌ Incorreta

$pessoa2 é um objeto, mas $idade não é uma propriedade do código (não é acessada); $this é uma pseudo-variável interna, não uma propriedade. A ordem também não corresponde.

Alternativa E — ❌ Incorreta

$pessoa1 é um objeto, mas $nome não é propriedade (é uma string temporária, não um atributo), e "Pedro" é um valor, não uma propriedade. A sequência está trocada.

PEGA ESSA DICA!

Em PHP, propriedades públicas são acessadas com -> sem parênteses; métodos são acessados com -> seguido de parênteses. Identifique sempre: classe (nome após new), objeto (variável que recebe a instância), propriedade (atributo da classe) e método (função definida na classe).

Gabarito: letra B.

Link permanente: /questoes/qq892782