Questões de Concurso sobre Orientação a Objetos

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
1.865 questões encontradas
Questões por página
20
Mais recentes
 

Segundo o princípio da responsabilidade única (single responsibility principle), em boas práticas de desenvolvimento orientado a objetos, uma classe deve


A

acumular várias responsabilidades para minimizar a quantidade de código escrito.


B

possuir métodos genéricos que possam atender a diversas necessidades sem segregação funcional.


C

ser capaz de realizar múltiplas funções relacionadas a diferentes aspectos do sistema.


D

implementar diversas funcionalidades para reduzir a necessidade de criar novas classes.


E

ter apenas uma razão para ser modificada, garantindo que sua responsabilidade seja única e bem definida.

Na programação orientada a objetos, a capacidade de restringir o acesso a atributos e métodos de uma classe, para que somente métodos específicos possam acessá-los ou modificá-los, é conhecida como:


A

Encapsulamento.


B

Abstração.


C

Instância.


D

Polimorfismo.


E

Acoplamento.

Para responder à questão, analise o código a seguir, escrito em uma linguagem de programação que utiliza o paradigma de orientação a objetos:

Imagem associada para resolução da questão

Com base na análise do código e nos seus conhecimentos sobre programação orientada a objetos, selecione a alternativa correta.


A

As classes Cachorro e Gato herdam os atributos nome e idade da classe Animal, mas não herdam o método emitirSom().


B

O código demonstra o conceito de abstração, pois a classe Animal define um método abstrato emitirSom().


C

A classe Animal é uma subclasse das classes Cachorro e Gato.


D

O código demonstra o conceito de encapsulamento, pois os atributos nome e idade são declarados como públicos.


E

O método emitirSom() nas classes Cachorro e Gato sobrescreve o método emitirSom() da classe Animal, demonstrando o conceito de polimorfismo.

Um dos conceitos da Programação Orientada a Objetos (POO) é o de polimorfismo.


Uma importante vantagem do uso de polimorfismo segundo o paradigma de POO é que ele


A

cria classes que não podem ser instanciadas.


B

evita o uso de herança na estrutura do programa.


C

define como os objetos são armazenados na memória.


D

permite que uma variável de uma classe possa ser acessada sem precisar criar um objeto dessa classe.


E

permite que objetos de diferentes classes sejam tratados de forma homogênea.

Considere que, em um sistema de software para uma concessionária de veículos, foi desenvolvida uma classe base chamada Veiculo, com um método calcularCustoTotal( ). Posteriormente, foram criadas classes derivadas (Carro, Moto, Caminhao) que herdam da classe Veiculo, mas cada uma implementa o método calcularCustoTotal( ) de maneira diferente, considerando fatores específicos como impostos e custos de manutenção para cada tipo de veículo. Em uma parte do código, uma lista de objetos do tipo Veiculo é criada, contendo instâncias de Carro, Moto e Caminhao, e o método calcularCustoTotal( ) é chamado para cada um deles.


O comportamento do sistema, que permite chamar o mesmo método calcularCustoTotal( ) em objetos de classes diferentes (Carro, Moto, Caminhao) para obter resultados específicos para cada um, é um exemplo de qual pilar da Programação Orientada a Objetos?


A

Encapsulamento.


B

Herança.


C

Abstração.


D

Polimorfismo.

Polimorfismo é um princípio fundamental da Programação Orientada a Objetos (POO) que promove a extensibilidade dos sistemas, permitindo a inclusão de novas classes e funcionalidades com mínimas alterações no código existente. Ele se manifesta em dois tipos principais: o polimorfismo por sobrecarga (estático) e o polimorfismo por sobrescrita (dinâmico).


A respeito do conceito apresentado, avalie as asserções a seguir e a relação proposta entre elas:


I. O polimorfismo por sobrecarga em Java permite que métodos com o mesmo nome executem diferentes comportamentos com base no número ou no tipo de parâmetros fornecidos.

II. No polimorfismo por sobrecarga, a escolha de qual método será invocado é feita em tempo de execução, permitindo maior flexibilidade no comportamento dinâmico dos objetos.


Após feita a análise, é correto afirmar que


A

as duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira.


B

as duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira.


C

a primeira asserção é uma proposição verdadeira; a segunda é uma proposição falsa.


D

a primeira asserção é uma proposição falsa, já a segunda é uma proposição verdadeira.

Ano: 2025
Prova: CESPE/CEBRASPE - PCDF - Gestor de Apoio - Área: Analista de Informática Desenvolvimento de Sistemas . - 2025

Na arquitetura orientada a objetos, o polimorfismo é baseado na escolha do método específico a ser realmente chamado no momento da execução da compilação.


C

Certo


E

Errado

Na programação orientada a objetos, herança especifica que uma classe (subclasse) herda características (atributos e métodos) de outra classe (superclasse). Nesse contexto, as características da superclasse que são comuns às subclasses e as características específicas das subclasses, são conhecidas, respectivamente, por:


A

Abstração e encapsulamento.


B

Encapsulamento e abstração.


C

Especialização e generalização.


D

Generalização e especialização.


E

Sobrecarga e sobrescrita.

Uma aplicação de gerenciamento de pagamentos precisa oferecer suporte a diferentes métodos, como boleto, cartão de crédito e Pix. Para isso, a classe pagamento foi projetada com um método abstrato chamado processarPagamento(), que deve ser implementado de maneira específica por cada classe correspondente a um tipo de pagamento. Essa abordagem foi escolhida para aproveitar os conceitos de encapsulamento e interfaces na orientação a objetos. Nesse contexto, qual é a principal vantagem proporcionada pelo uso desses conceitos em relação à expansão e manutenção do sistema?


A

Garantir que todos os tipos de pagamento utilizem a mesma estrutura interna de dados.


B

Centralizar a lógica de todos os métodos em uma única classe, reduzindo a duplicação de código.


C

Reduzir a complexidade ao permitir que todos os métodos utilizem a mesma implementação genérica.


D

Facilitar a adição de novos tipos de pagamento sem alterar o código existente, respeitando o princípio de substituição de Liskov.

Um desenvolvedor precisa revisar um código em Java e verificar se a implementação dos princípios da Programação Orientada a Objetos (POO) está correta. Para isso, ele faz uma análise dos conceitos fundamentais de POO e suas definições. Associe cada conceito da POO à sua respectiva descrição:


1.Herança.

2. Polimorfismo.

3. Encapsulamento.

4. Abstração.


( ) Foca em identificar e expor apenas os aspectos essenciais de um objeto ou sistema, simplificando a complexidade ao ocultar detalhes desnecessários para o usuário final.

( ) Permite a criação de classes que compartilham características comuns sem duplicação de código.

( ) Permite que métodos com o mesmo nome tenham diferentes implementações em classes distintas.

( ) Envolve a organização dos dados e métodos relacionados dentro de uma única unidade ou classe, controlando o acesso aos seus componentes internos através de modificadores de acesso, como private ou protected, para proteger a integridade e a consistência dos dados.


A sequência está correta em


A

1, 2, 3, 4.


B

2, 1, 4, 3.


C

4, 1, 2, 3.


D

4, 3, 2, 1.

Sobre o paradigma de programação orientada a objetos (POO), foram feitas as seguintes afirmações:


I. Uma classe consiste em uma instância de um objeto, ou seja, a classe é especificação e o objeto, a generalização.

II. Os modificadores de acesso do método/atributo de um objeto ajudam a estabelecer organização e segurança ao código.

III. Os métodos abstratos de uma classe possuem corpos, logo além da classe ter que implementá-lo, estes métodos, esta classe precisa já ter uma estrutura prévia do mesmo método.


Sobre as afirmações acima, pode-se afirmar que:


A

Apenas a afirmação I está correta.


B

Apenas as afirmações I e III estão corretas.


C

Apenas a afirmação II está correta.


D

Apenas a afirmação III está correta.

Acerca do polimorfismo, julgue os itens a seguir.


I O uso de polimorfismo reduz a duplicação de código visto que permite abstrações genéricas.

II Interfaces são frequentemente utilizadas na aplicação de polimorfismo por contrato.

III Métodos polimórficos devem ser declarados exclusivamente como privados.


Assinale a opção correta.


A

Apenas o item II está certo.


B

Apenas o item III está certo.


C

Apenas os itens I e II estão certos.


D

Apenas os itens I e III estão certos.


E

Todos os itens estão certos.

Acerca da programação orientada a objetos, assinale a opção correta.


A

A classe é a estrutura que define os atributos e comportamentos dos objetos.


B

Toda linguagem de programação define automaticamente todas as classes necessárias em tempo de compilação.


C

Um objeto não pode ser instanciado a partir de uma classe.


D

A classe representa uma instância específica de um objeto.


E

Atributos e métodos são definidos apenas no objeto, não na classe.

Qual é a principal função de um construtor em uma classe?


A

Criar um método que pode ser herdado por outras classes.


B

Inicializar os atributos de um objeto no momento de sua criação.


C

Proteger os atributos da classe contra alterações indevidas.


D

Excluir automaticamente objetos não utilizados pelo programa.


E

Substituir os métodos de uma classe base em uma classe derivada.

A Orientação a Objetos (OO) é um paradigma de programação baseado na modelagem de sistemas por meio de objetos, que representam entidades do mundo real. Cada objeto possui atributos (dados) e métodos (comportamentos), encapsulando informações e funcionalidades. Um dos conceitos fundamentais de OO é o conceito de polimorfismo. Acerca do polimorfismo no contexto de OO, assinale a alternativa correta.


A

Habilita métodos com o mesmo nome a terem comportamentos diferentes dependendo do contexto, facilitando a flexibilidade do código.


B

Define apenas os detalhes essenciais de um objeto, ocultando sua implementação interna.


C

Trata-se de um método especial de uma classe usado para inicializar objetos, atribuindo valores iniciais aos seus atributos no momento de sua criação.


D

É um método usado para liberar recursos quando um objeto não é mais necessário, sendo destruído ou descartado.


E

Restringe o acesso direto aos atributos de um objeto, permitindo a manipulação apenas por meio de métodos específicos.

Na programação orientada a objetos, princípios fundamentais desempenham um papel específico na construção de software modular, reutilizável e de fácil manutenção.


Com base no exposto, o princípio que permite que objetos de diferentes classes sejam tratados de maneira uniforme através de uma interface comum é


A

encapsulamento.


B

polimorfismo.


C

composição.


D

abstração.


E

herança.

Assinale a opção correta, a respeito de composição na programação orientada a objetos.


A

Na composição forte, objetos compostos não podem existir independentemente de seus componentes.


B

Composição e herança têm exatamente os mesmos efeitos no tempo de execução.


C

A composição estabelece uma relação “é um”.


D

A composição representa uma relação “possui um” ou “é parte de”.


E

A composição é uma forma de herança indireta.

Recurso indispensável e amplamente utilizado nas linguagens de programação orientadas a objetos (POO), sendo este recurso responsável por permitir que objetos de diferentes classes sejam tratados de forma uniforme, desde que essas classes compartilhem um relacionamento hierárquico. Qual é o nome deste recurso?


A

Encapsulamento.


B

Polimorfismo.


C

Classe Abstrata.


D

Acoplamento.

Em Programação Orientada a Objetos (POO), o polimorfismo permite que objetos de diferentes classes sejam tratados de forma uniforme, através de uma interface comum. Considerando a implementação de polimorfismo, assinale a afirmação verdadeira.


A

O polimorfismo só pode ser implementado através de herança, não sendo possível usá-lo com interfaces ou classes abstratas.


B

O polimorfismo em POO é alcançado quando um método na classe filha sobrescreve (override) um método da classe pai, permitindo que o método da classe filha seja chamado, mesmo quando o objeto é referenciado por um tipo da classe pai.


C

O polimorfismo é uma técnica usada apenas em linguagens de programação que suportam múltiplas heranças, não podendo ser aplicado em linguagens que suportam herança simples.


D

O polimorfismo em POO permite que métodos com o mesmo nome, mas em diferentes classes, tenham comportamentos completamente distintos, sendo implementado através de sobrecarga de métodos (method overloading).


E

O polimorfismo em POO é alcançado apenas quando se utiliza o mesmo nome de método em diferentes classes, mas os métodos precisam ter exatamente a mesma implementação para funcionar corretamente.

Dado o seguinte código escrito em Java, qual alternativa apresenta o conceito da programação orientada a objetos em relação aos métodos nomeados como Conceicao?


Imagem associada para resolução da questão


A

Agregação/dependência


B

Abstração/encapsulamento


C

Abstração/interface


D

Polimorfismo/sobrecarga


E

Polimorfismo/sobrescrita

   
Gerar simulado