Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — CESPE / CEBRASPE 2024

ProgramaçãoProgramação Orientada a Objetos
Código
ce168417
Banca
CESPE / CEBRASPE
Órgão
CAGEPA - PB
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas - Sistemas de TI
Tendo em vista que arquitetura e linguagem orientada a objetos (OO) são conceitos fundamentais no desenvolvimento de software, assinale a opção correta.
  1. AA arquitetura de software define a estrutura geral de um sistema, incluindo seus componentes e as interações entre eles, servindo como um projeto para construir e manter um sistema de informação, embora não haja garantia de que esse projeto atenda aos requisitos de desempenho e escalabilidade.
  2. BA manutenibilidade é um benefício da integração de arquitetura em camadas e OO, pois objetos podem ser reutilizados em diferentes partes do sistema ou mesmo em diferentes projetos.
  3. CPolimorfismo na programação OO permite que uma classe derive de outra, reutilizando e estendendo funcionalidades.
  4. DLinguagens orientadas a objetos são projetadas para modelar problemas do mundo real por meio de objetos; os objetos encapsulam dados e comportamentos, promovendo a reutilização e a modularidade do código.
  5. EComo exemplo da arquitetura de software em um contexto orientado a objetos, tem-se a arquitetura em camadas e OO, que conta com as camadas de: apresentação, lógica, acesso a dados, segurança, interoperabilidade.
Revelar gabarito e comentário

GabaritoD — Linguagens orientadas a objetos são projetadas para modelar problemas do mundo real por meio de objetos; os objetos encapsulam dados e comportamentos, promovendo a reutilização e a modularidade do código.

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

Gabarito: letra D. A definição de linguagens orientadas a objetos como ferramentas para modelar problemas do mundo real por meio de objetos que encapsulam dados e comportamentos, promovendo reúso e modularidade, é a mais precisa entre as alternativas. As demais contêm erros conceituais, especialmente a confusão entre polimorfismo e herança na alternativa C.

Análise das alternativas

Alternativa A — ❌ Incorreta

A afirmativa sobre arquitetura de software é, em parte, verdadeira, mas o trecho "embora não haja garantia de que esse projeto atenda aos requisitos de desempenho e escalabilidade" é problemático. A arquitetura é justamente o artefato que visa garantir esses atributos de qualidade; a ausência de garantia não é uma característica inerente, mas sim um risco de projeto mal executado. Além disso, a questão foca em OO, e essa alternativa aborda um tema mais amplo, sem relação direta com os conceitos de OO.

Alternativa B — ❌ Incorreta

A manutenibilidade é um benefício da orientação a objetos e da arquitetura em camadas, mas a afirmação de que objetos podem ser reutilizados em diferentes partes do sistema ou projetos é uma verdade parcial. A reutilização é uma vantagem, mas a associação direta com manutenibilidade é indireta. Contudo, o principal erro é que a banca considera que o benefício citado (reutilização) é mais relacionado à OO do que à integração com arquitetura em camadas, e a alternativa não é a melhor opção diante da letra D. Em provas CESPE, a alternativa que melhor define OO é a D.

Alternativa C — ❌ Incorreta

NÃO CAIA NESSA!

A banca troca o conceito de polimorfismo pelo de herança. Polimorfismo é a capacidade de um objeto assumir diferentes formas, geralmente implementada por meio de interfaces ou métodos virtuais (sobrescrita). Herança é o mecanismo que permite que uma classe derive de outra, herdando e estendendo funcionalidades. A alternativa descreve herança, não polimorfismo.

Portanto, a alternativa está incorreta.

Alternativa D — ✅ Correta ⟵ GABARITO

Esta alternativa captura a essência da programação orientada a objetos: modelagem do mundo real por meio de objetos, encapsulamento de dados e comportamentos, reúso e modularidade. É a definição clássica e amplamente aceita.

Alternativa E — ❌ Incorreta

A arquitetura em camadas típica (apresentação, lógica de negócios, acesso a dados) é correta, mas a inclusão de "segurança" e "interoperabilidade" como camadas separadas é inadequada. Esses são aspectos transversais (cross-cutting concerns) que geralmente são tratados em todas as camadas, e não como camadas independentes. Além disso, a expressão "arquitetura em camadas e OO" é redundante, pois OO é um paradigma, não um tipo de arquitetura.

Conclusão: A única alternativa correta é a D.

Link permanente: /questoes/ce168417