Questões de Concurso Sobre programação orientada a objetos em programação

Questões Discursivas

Foram encontradas 968 questões

Q4206175 Programação

Uma software house mantém um sistema de desenho técnico. A equipe perce beu que, sempre que surge um novo tipo de figura, como triângulo ou losango, várias partes do código precisam ser alteradas, especialmente rotinas que usam if/else ou switch para verificar o tipo da figura antes de desenhá-la.



Com base nos princípios OCP e LSP, assinale a afirmativa INCORRETA

Alternativas
Q4193532 Programação
Analise o código JavaScript e assinale a alternativa que descreve corretamente a saída exibida no console para os valores de “q.r” e “q.theta” após sua execução. 


Imagem associada para resolução da questão
Alternativas
Q4193140 Programação
No projeto de sistemas orientados a objetos, a hierarquia de classes permite a reutilização de código e a padronização de comportamentos. Acerca das diferenças e aplicações de classes concretas e abstratas, registre V, para as afirmativas verdadeiras, e F, para as falsas:

(__)Uma classe abstrata serve como modelo para outras classes e não permite que instâncias (objetos) sejam criadas diretamente a partir dela.
(__)Classes concretas são aquelas que implementam todos os métodos definidos em sua hierarquia, permitindo a criação de objetos operacionais.
(__)Uma classe abstrata pode conter métodos concretos, com implementação definida, além de assinaturas de métodos abstratos sem corpo.
(__)Toda classe abstrata deve possuir pelo menos dez métodos abstratos para ser considerada válida pelo compilador da linguagem.

Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
Alternativas
Q4193137 Programação
A Programação Orientada a Objetos (POO) utiliza conceitos do mundo real para estruturar o desenvolvimento de sistemas complexos. No que se refere aos pilares básicos deste paradigma de programação, assinale a alternativa CORRETA.
Alternativas
Q4186132 Programação
Dado o código abaixo:
static int soma(int x, int y) {  return x + y; } static double soma(double x, double y) {  return x + y; } public static void main(String[] args) {  int meuNum1 = soma(8, 5);  double meuNum2 = soma(4.3, 6.26);
Sobre o código acima exposto, temos um exemplo claro de qual ocorrência em relação ao método soma?
Alternativas
Q4186041 Programação
Sobre Programação Orientada a Objetos (POO), informe verdadeiro (V) ou falso (F) para as assertivas abaixo e, em seguida, marque a opção que apresenta a sequência correta.

( ) Encapsulamento significa que os detalhes de implementação de uma classe ficam ocultos, de modo que outros objetos interajam com ela somente por meio de seus métodos públicos.
( ) Uma nova classe de objetos pode ser criada convenientemente por meio de herança — ela (subclasse) começa com as características de uma classe existente (superclasse), possivelmente personalizando-as e adicionando aspectos próprios.
( ) Polimorfismo permite que uma variável de tipo de superclasse referencie objetos de subclasses diferentes e invoque métodos que se comportam de maneira distinta conforme o tipo real do objeto.
( ) Reutilização de classes significa empregar a mesma definição de classe para criar múltiplas instâncias e também utilizá-la como base para novas estruturas por meio de herança ou composição, evitando duplicação de código. 
Alternativas
Q4181918 Programação
O conceito de abstração de processo está entre os mais antigos nos projetos de linguagens de programação. Como evolução das abstrações de processos, surgiu a abstração de dados. A programação orientada a objetos é, portanto, uma aplicação do princípio de abstração para tipos de dados, com a peculiaridade de ser capaz ainda de fornecer suporte à herança e vinculação dinâmica de chamadas aos subprogramas do tipo criado, os métodos. Um propósito para essa vinculação dinâmica é permitir que os sistemas de software sejam mais bem estendidos durante o desenvolvimento e a manutenção. Essa característica é conhecida como: 
Alternativas
Q4181861 Programação
Em uma aplicação corporativa desenvolvida em Java e C#, a equipe de arquitetura revisou um módulo responsável por calcular diferentes políticas de cobrança. A versão inicial concentrava regras condicionais em uma única classe, com testes frequentes sobre o tipo concreto de cliente, produto e contrato. A proposta de refatoração envolveu uso de interfaces, classes especializadas, injeção de dependências e substituição de estruturas condicionais extensas por chamadas polimórficas. Acerca do tema, analise as sentenças a seguir:

I- O polimorfismo permite que objetos de classes diferentes sejam tratados por uma mesma abstração, de modo que a seleção do comportamento concreto possa ocorrer em tempo de execução, desde que os tipos envolvidos respeitem o contrato definido por uma interface, classe abstrata ou hierarquia compatível.

II- A herança deve ser utilizada sempre que duas classes compartilham atributos com nomes semelhantes, pois a reutilização estrutural é critério suficiente para estabelecer relação “é-um”, mesmo que os comportamentos esperados das subclasses violem substitutibilidade em relação à superclasse.

III- A redução de condicionais baseadas em tipo concreto pode aumentar a extensibilidade do módulo quando novas políticas de cobrança são adicionadas por meio de novas implementações de uma abstração, sem exigir alteração direta da lógica cliente que consome o contrato comum.

IV- O encapsulamento consiste em tornar todos os atributos privados e todos os métodos públicos, garantindo baixo acoplamento automaticamente, independentemente da exposição de detalhes internos por métodos de acesso e da estabilidade da interface pública da classe.

Analisadas as sentenças, estão CORRETAS apenas:
Alternativas
Q4181257 Programação
As linguagens de programação são classificadas segundo diferentes critérios, como nível de abstração, paradigma e tipo de execução. Essa classificação orienta decisões importantes no desenvolvimento de sistemas, como a escolha da linguagem mais adequada para um projeto, a compatibilidade com o ambiente de produção e o perfil das equipes de desenvolvimento. Dominar esses conceitos é fundamental para avaliar soluções e dar suporte a aplicações institucionais. Com base nessa classificação, assinale a alternativa CORRETA.
Alternativas
Q4177267 Programação
Em um projeto desenvolvido com linguagem orientada a objetos, a organização do código envolve a definição de classes, a criação de objetos e o uso de mecanismos como herança, polimorfismo e sobrecarga de métodos. Deste modo, analise as assertivas:
I. Uma classe pode ser entendida como um modelo que define atributos e métodos, enquanto um objeto corresponde a uma instância criada a partir dessa classe.
II. A herança permite que uma classe aproveite atributos e métodos de outra, favorecendo a reutilização de código e a organização em hierarquias.
III. A sobrecarga de métodos ocorre quando métodos possuem o mesmo nome e a mesma lista de parâmetros, diferenciando se pelo conteúdo executado internamente.
Está(ão) correta(s): 
Alternativas
Q4163943 Programação

Durante o desenvolvimento de um sistema interno do Conselho Regional de Enfermagem para gerenciamento de profissionais registrados, uma analista implementou a seguinte estrutura na linguagem Java:

Imagem associada para resolução da questão

Posteriormente, no método principal da aplicação, foi criado o seguinte objeto:

Imagem associada para resolução da questão

Considerando os fundamentos de orientação a objetos em Java, assinale a alternativa correta. 

Alternativas
Q4160929 Programação
No contexto da programação orientada a objetos, o polimorfismo é um recurso que permite diferentes formas de utilização de atributos e comportamentos em uma aplicação, podendo ocorrer, entre outras formas, por meio da manipulação de métodos. Nesse contexto, assinale a alternativa que MELHOR caracteriza o polimorfismo do tipo sobrecarga.
Alternativas
Q4160925 Programação
Considere as noções de frameworks backend e frontend utilizados no desenvolvimento de aplicações web modernas. No contexto do framework Laravel, amplamente utilizado no desenvolvimento backend com PHP (Hypertext Preprocessor), existe um componente responsável por facilitar a interação com bancos de dados, incluindo bancos relacionais que utilizam SQL (Structured Query Language), por meio de uma abordagem orientada a objetos. Esse componente é o ORM (Mapeador de Objeto-Relacional) padrão do Laravel, permitindo que o desenvolvedor manipule dados utilizando classes PHP em vez de escrever consultas SQL complexas. Ele segue o padrão Active Record, no qual cada tabela do banco de dados está associada a um modelo (Model) correspondente. Nesse contexto, qual é o nome desse componente do Laravel?
Alternativas
Ano: 2026 Banca: FGV Órgão: TJ-SC Prova: FGV - 2026 - TJ-SC - Analista de Sistemas |
Q4150963 Programação
Durante o projeto de um sistema, utilizando linguagem orientada a objetos, foram adotadas as seguintes práticas:

I. Uma classe define seus atributos como privados e disponibiliza apenas métodos públicos para sua leitura e alteração, permitindo a realização de validações antes de qualquer modificação dos dados.
II. Uma classe base é estendida por diversas subclasses que compartilham comportamento comum, mas especializam determinadas operações conforme suas regras específicas.
III. Um mesmo método, definido na classe base, é reimplementado nas subclasses, de modo que sua execução produza comportamentos distintos conforme o tipo concreto do objeto em tempo de execução.

Com base nos conceitos fundamentais da programação orientada a objetos, assinale a opção que classifica corretamente as práticas descritas.
Alternativas
Q4149729 Programação
Um atributo na programação Orientada a Objetos representa: 
Alternativas
Q4149728 Programação
Sobre Encapsulamento na Programação Orientada a Objetos, analise os itens e assinale a alternativa CORRETA:
I - Protege o estado interno de um objeto e restringe o acesso direto aos seus dados.
II - Tem a capacidade de ocultar detalhes internos de implementação de uma classe ou objeto.
III - Não garante manter a integridade dos dados e protegê-los de mudanças indevidas.
IV - Baseia-se no princípio de ocultação de informações, em que os detalhes internos de implementação ficam invisíveis para usuários. 
Alternativas
Q4140347 Programação

Observe as assertivas abaixo e, em seguida, assinale a alternativa correta.


I. Em Java, uma classe que implementa uma interface deve fornecer implementações concretas para todos os métodos declarados nessa interface (a menos que a classe seja abstrata).


PORQUE


II. As interfaces em Java permitem que uma classe herde o comportamento e o estado de múltiplas superclasses, contornando a ausência de herança múltipla de classes.

Alternativas
Q4140346 Programação

Analise as afirmativas abaixo sobre a programação concorrente em Java, segundo a obra de Deitel.


I.   A interface Runnable exige a implementação do método run(), mas não fornece o método  start().
II.  Para iniciar a execução de um thread criado a partir da classe Thread,, deve-se chamar o método  run() diretamente no código principal.

III. O estado de um thread que está aguardando o processador para ser executado é chamado de RUNNABLE.

IV. O método sleep()  da classe Thread  é utilizado para encerrar permanentemente a execução de um thread de baixa prioridade.


Estão corretas apenas as afirmativas

Alternativas
Q4140344 Programação
Preencha as lacunas abaixo.

Em Java, os objetos da classe String são considerados __________, o que significa que seu conteúdo não pode ser alterado após a criação. Para situações em que é necessária a manipulação intensiva de sequências de caracteres com alterações frequentes de conteúdo, a classe __________ é mais eficiente por permitir modificações in-place.

A sequência de palavras que preenche corretamente as lacunas é: 
Alternativas
Q4140343 Programação
No que concerne ao tratamento de exceções em Java, é incorreto afirmar que: 
Alternativas
Respostas
1: D
2: A
3: C
4: C
5: B
6: A
7: B
8: B
9: A
10: A
11: B
12: D
13: E
14: B
15: A
16: E
17: C
18: B
19: B
20: D