Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — Quadrix 2025

ProgramaçãoLinguagens de programação
Código
qg595100
Banca
Quadrix
Órgão
CFO
Ano
2025
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
As linguagens de programação são responsáveis por tirar do papel os algoritmos criados pelo programador e por transformá‑los em programas para serem executados pelos computadores modernos. Considerando essa informação, julgue o item seguinte.Em PHP, todos os tipos de dados são automaticamente tratados como objetos, incluindo os tipos primitivos como inteiros e strings, o que elimina a necessidade de conversão entre tipos.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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: tipagem dinâmica e fraca

Gabarito: E — ERRADO. A afirmação está incorreta porque, em PHP, os tipos primitivos (como inteiros e strings) não são tratados automaticamente como objetos — eles são valores escalares. O PHP é uma linguagem de tipagem dinâmica e fraca, o que significa que as variáveis podem mudar de tipo em tempo de execução e que conversões entre tipos ocorrem implicitamente, mas isso não elimina a necessidade de conversão nem transforma primitivos em objetos.

O PHP é uma linguagem de programação amplamente utilizada para desenvolvimento web, criada por Rasmus Lerdorf em 1994. Uma de suas características mais marcantes é a tipagem dinâmica: uma variável pode armazenar um inteiro em um momento e uma string em outro, sem necessidade de declaração explícita de tipo. Isso difere de linguagens estaticamente tipadas, como Java e C, onde o tipo da variável é definido em tempo de compilação e não pode mudar.

Além de dinamicamente tipada, o PHP é considerado fracamente tipado. Isso significa que o interpretador realiza conversões automáticas de tipo quando necessário. Por exemplo, ao somar um inteiro com uma string numérica, o PHP converte a string para inteiro e realiza a operação. Essa conversão implícita é uma conveniência, mas não elimina a necessidade de conversões explícitas em muitos casos — como quando se deseja garantir que um valor seja tratado como string ou inteiro, ou ao comparar valores com === (que verifica tipo e valor).

A confusão entre "tipagem fraca" e "tratamento de primitivos como objetos" é comum. Em PHP, desde a versão 5, existe o conceito de tipos escalares (int, float, string, bool) que são distintos de objetos. Para tratar um valor primitivo como objeto, é necessário usar classes como IntlChar, Stringable ou funções como strval(), intval(). A linguagem não faz isso automaticamente. A orientação a objetos em PHP é um paradigma que coexiste com a programação procedural, mas os tipos primitivos permanecem como valores escalares.

A pegadinha desta questão está em associar a tipagem dinâmica e fraca do PHP com a ideia de que "tudo é objeto". Essa característica é típica de linguagens como Smalltalk ou Ruby, onde até os números são objetos. No PHP, isso não ocorre: um inteiro é um valor escalar, não um objeto. A conversão entre tipos é necessária em diversas situações, como ao concatenar strings com números ou ao validar entradas de formulários.

Guarde a distinção: tipagem dinâmica (o tipo é definido em tempo de execução) e tipagem fraca (conversões implícitas são permitidas) não significam que os primitivos são objetos. Essa é a fronteira que separa a afirmação correta da incorreta.

1Primitivos (escalares)
int, float, string, bool
Não são objetos automaticamente
2Tipagem dinâmica
Tipo definido em tempo de execução
Variável pode mudar de tipo
3Tipagem fraca
Conversões implícitas
Não elimina conversão explícita
4Objetos
Paradigma OO coexiste
Requer classes específicas
PHP: tipos de dados
LEVELsoulevel.com.br
PHP: tipos de dados: Primitivos (escalares) (int, float, string, bool, Não são objetos automaticamente); Tipagem dinâmica (Tipo definido em tempo de execução, Variável pode mudar de tipo); Tipagem fraca (Conversões implícitas, Não elimina conversão explícita); Objetos (Paradigma OO coexiste, Requer classes específicas)

Alternativa E — ❌ Incorreta ⟵ GABARITO

A afirmação está errada por três motivos principais:

  1. Primitivos não são objetos: Em PHP, inteiros, floats, strings e booleanos são tipos escalares, não objetos. Eles não possuem métodos ou propriedades inerentes. Para tratá-los como objetos, seria necessário envolvê-los em classes específicas.

  1. Conversão entre tipos é necessária: Embora o PHP faça conversões implícitas (tipagem fraca), isso não elimina a necessidade de conversões explícitas. Por exemplo, ao usar === para comparar valor e tipo, ou ao formatar dados para exibição, o programador frequentemente precisa converter explicitamente com (int), (string), intval(), strval(), entre outros.

  1. A tipagem dinâmica não implica "tudo é objeto": A característica de "tudo é objeto" é de linguagens como Smalltalk e Ruby, não do PHP. O PHP adota um modelo híbrido, onde primitivos e objetos coexistem.

PEGA ESSA DICA!

Para questões sobre tipagem, lembre-se da classificação: dinâmica (tipo definido em tempo de execução) × estática (tipo definido em tempo de compilação) e fraca (conversões implícitas) × forte (conversões explícitas). O PHP é dinâmico e fraco; Java é estático e forte. Essa combinação é o que a banca explora.

Gabarito: letra E — a afirmação é ERRADA.

Link permanente: /questoes/qg595100