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
 

No projeto orientado a objetos, cada objeto encapsula dados e comportamentos, o que permite modificações internas sem que outros objetos sejam afetados.


C

Certo


E

Errado

A Orientação a Objetos (OO) constitui um paradigma aplicado na programação, que consiste na interação entre diversas unidades chamadas de objetos. A Programação Orientada a Objetos se apoia em quatro pilares principais, sendo que em um deles realiza-se o agrupamento das coisas que fazem sentido estarem juntas, para fins de organização e reutilização melhor do código. Em outro pilar, tem-se a possibilidade de um objeto assumir diversas formas diferentes na orientação a objetos.


Esses dois pilares da OO são conhecidos, respectivamente, como:


A

Encapsulamento e abstração.


B

Herança e polimorfismo.


C

Herança e abstração.


D

Encapsulamento e polimorfismo.

Durante a revisão de código, um desenvolvedor sênior identificou que uma classe Fatura permite que outras classes modifiquem diretamente seu atributo status (ex: fatura.status = “PAGO”). O sênior recomendou que o atributo status seja tornado privado e que a modificação seja feita apenas através de um método público, como pagarFatura(), que conteria as regras de negócio.


Com base nessa situação hipotética, assinale a opção que apresenta o princípio da programação orientada a objetos que fundamenta a recomendação do desenvolvedor sênior.


A

polimorfismo


B

herança


C

abstração


D

encapsulamento


E

delegação

O paradigma de orientação a objetos (POO) organiza o software em torno de objetos, que são instâncias de classes e interagem entre si para realizar tarefas. Um dos conceitos fundamentais de POO permite que um mesmo método seja definido com diferentes parâmetros, como tipos ou quantidades, possibilitando que o método execute funções semelhantes, mas adaptadas a diferentes necessidades. Esse conceito é definido como


A

sobrescrita.


B

estado.


C

dependência.


D

sobrecarga.


E

agregação.

Sobre o desenvolvimento orientado a objetos, analise as afirmações:


l. A coesão refere-se ao grau em que os elementos de um módulo pertencem juntos.

Il. O acoplamento forte entre classes é sempre desejável para um bom design orientado a objetos.

llI. O princípio da responsabilidade única afirma que uma classe deve ter apenas uma razão para mudar.

IV. A composição é sempre preferível à herança em todos os cenários de design orientado a objetos.


Assinale a alternativa que contenha APENAS as afirmações corretas.


A

I e II.


B

II e III.


C

III e IV.


D

I e III.


E

II e IV.

Considerando que a escolha entre herança e composição impacta diretamente a flexibilidade e o acoplamento de um sistema orientado a objetos, assinale a opção correta.


A

Essa escolha não afeta a manutenibilidade do sistema.


B

Por modelar comportamentos dinâmicos, a composição permite maior flexibilidade.


C

Herança favorece maior desacoplamento que composição.


D

A composição dificulta a reutilização de código.


E

A herança múltipla é recomendada sempre que possível.

Em um sistema de folha de pagamento da Assembleia, o Analista de Sistemas está modelando a hierarquia de funcionários. A classe base Pessoa contém atributos comuns como nome e cpf. A classe Funcionario herda de Pessoa e possui o método calcularRemuneracaoMensal(). No entanto, a forma de cálculo varia radicalmente entre subtipos como Efetivo e Comissionado, e a classe Funcionario por si só nunca deve ser instanciada, servindo apenas como um contrato para as classes filhas.


O conceito de Orientação a Objetos aplicado à classe Funcionario para impedir sua instanciação direta, ao mesmo tempo em que impõe a obrigatoriedade de implementação do método calcularRemuneracaoMensal() nas suas subclasses é o(a)


A

Encapsulamento, por meio de um construtor privado.


B

Polimorfismo, por meio de sobrecarga do método.


C

Herança Múltipla, por meio de interfaces.


D

Abstração, por meio da definição como Classe Abstrata e método Abstrato.


E

Coesão, garantindo a especialização dos métodos.

Considere um sistema desenvolvido com base nos princípios da Orientação a Objetos. O sistema possui uma classe base abstrata Funcionario e duas classes derivadas: Gerente e Vendedor.

A classe Funcionario define um método calcularSalario() que é implementado de forma diferente em Gerente (com bônus de gestão) e Vendedor (com comissão de vendas). A capacidade de utilizar uma referência do tipo Funcionario para chamar o método calcularSalario() e ter a versão correta do método (Gerente ou Vendedor) sendo executada em tempo de execução, é uma característica fundamental do seguinte conceito da Orientação a Objetos:


A

polimorfismo, especificamente o polimorfismo de inclusão.


B

encapsulamento, protegendo os dados internos das classes.


C

herança, definindo a relação 'é um tipo de' entre as classes.


D

abstração, garantindo que apenas detalhes essenciais sejam expostos.


E

coesão, medindo o quão relacionados estão os elementos dentro de um módulo.

A análise orientada a objetos considera entidades do sistema como objetos que interagem entre si por meio de métodos e atributos.


C

Certo


E

Errado

O paradigma da orientação a objetos visualiza um sistema de software como uma coleção de agentes interconectados chamados objetos. É pela interação entre objetos que uma tarefa computacional é realizada. Um dos principais conceitos do paradigma da orientação a objetos é a abstração, que é um processo mental pelo qual nós seres humanos nos atemos aos aspectos mais importantes (relevantes) de alguma coisa, ao mesmo tempo que ignoramos os aspectos menos importantes. A abstração é um princípio básico da orientação a objetos e sua aplicação pode ser vista como base para outros conceitos, tais como: Encapsulamento, Polimorfismo, Generalização e Composição.


Adaptado de Eduardo Bezerra, Princípios de Análise e Projeto de Sistemas Com UML, 2 Edição, Editora Elsevier, Rio de Janeiro, 2007.


Em relação aos conceitos da orientação a objetos, avalie as seguintes afirmações:


I. Na generalização, classes semelhantes são agrupadas em uma hierarquia. Cada classe em um nível de hierarquia herda as características e comportamentos das classes às quais está nos níveis abaixo dela.

Il. O polimorfismo indica a capacidade de abstrair várias implementações diferentes em uma única interface.

IIl. A composição permite que sejam criados objetos a partir da reunião de outros objetos.

IV. Segundo o mecanismo do encapsulamento, a implementação do método que o objeto requisitado usa para realizar a operação precisa ser conhecida dos objetos requisitantes.


Assinale a alternativa que apresenta APENAS as afirmações corretas.


A

I e ll.


B

Il e III.


C

IlI e IV.


D

l e III.


E

ll e IV.

Na orientação a objetos, alguns conceitos fundamentais permitem organizar e reutilizar código de maneira eficiente. Um deles possibilita que um mesmo método apresente comportamentos diferentes, de acordo com o objeto que o invoca. Por exemplo: animal.emitirSom() pode resultar em "latido" quando o objeto é um cachorro e em "miado" quando o objeto é um gato. Qual é esse conceito?


A

Polimorfismo.


B

Encapsulamento.


C

Herança.


D

Abstração.


E

Sobrecarga de operadores.

Analise as afirmativas a seguir sobre programação orientada a objetos:


I - Programação Orientada a Objetos (POO) é um paradigma de programação que organiza o código em torno de "objetos", que são instâncias de "classes", esses objetos representam entidades do mundo real ou conceitos abstratos.

II - Uma vantagem da Programação Orientada a Objetos (POO) é que através da herança, você pode reutilizar métodos e atributos de classes existentes, otimizando a escrita deste código.

III -Apesar da otimização de códigos (usando por exemplo a herança) a Programação Orientada a Objetos POO não permite modelar sistemas complexos de forma organizada e estruturada.


Qual(is) afirmativa(s) está(ão) correta(s)?


A

Somente as afirmativas l e ll.


B

Somente as afirmativas l e III.


C

Somente as afirmativas II e III.


D

Somente a afirmativa I.


E

Todas as três afirmativas estão corretas.

O projeto orientado a objetos não pode ser combinado com metodologias ágeis, pois as metodologias ágeis requerem abordagens exclusivamente orientadas a dados.


C

Certo


E

Errado

Na programação orientada a objetos, um dos conceitos mais importantes é o de encapsulamento, essencial para garantir a segurança e a integridade dos dados. Esse recurso provê


A

restrição do acesso direto aos dados internos de um objeto, expondo apenas os métodos desejados para manipulá-los.


B

capacidade de uma classe herdar atributos e métodos de outra classe.


C

capacidade de um método se comportar de formas diferentes, de acordo com o objeto que o invoca.


D

processo de criação de novas classes com base em classes existentes, sem alterações.


E

técnica de dividir um programa em funções e procedimentos menores para facilitar o desenvolvimento.

Em um design orientado a objetos, o uso excessivo de herança pode aumentar a complexidade e o acoplamento entre classes, tornando o sistema mais difícil de manter e de evoluir.


C

Certo


E

Errado

A equipe de desenvolvimento da SEMCONGER está elaborando um sistema de gestão de frota de veículos oficiais. Diferentes abordagens de Programação Orientada a Objetos (POO) foram utilizadas para organizar o código de forma eficiente. A seguir estão quatro trechos de código que implementam diferentes conceitos de POO; analise-os.


Imagem associada para resolução da questão


Com base nos códigos apresentados, assinale a alternativa que classifica corretamente os conceitos aplicados em cada um deles.


A

Código 1. Encapsulamento; Código 2. Polimorfismo; Código 3. Herança; Código 4. Abstração.


B

Código 1. Herança; Código 2. Polimorfismo; Código 3. Encapsulamento; Código 4. Abstração.


C

Código 1. Polimorfismo; Código 2. Herança; Código 3. Encapsulamento; Código 4. Abstração.


D

Código 1. Herança; Código 2. Abstração; Código 3. Polimorfismo; Código 4. Encapsulamento.

Na linha 37, a forma correta de se criar um objeto a partir da classe Retangulo é:


A

obj Retangulo = new Retangulo();


B

obj neuRetangulo = new Retangulo;


C

new meuRetangulo = Retangulo;


D

Retangulo = new Retangulo();


E

Retangulo meuRetangulo = new Retangulo();

Considere os conceitos de Programação Orientada a Objetos (POO) e o seguinte trecho de código em Java e analise as afirmativas subsequentes sobre programação orientada a objetos usando Java.


Imagem associada para resolução da questão


(Código adaptado de código disponível em:

https://www.devmedia.com.br/construtores-em-java-prim eiros-passos/28618)


I- O método descrição da classe Carro sobrescreve o método da classe Veiculo.

II - A classe Veiculo deriva diretamente da superclasse Javamaster.

III - O método descrição da classe Carro chama o método descrição da classe Veiculo usando super.descricao(), o que é permitido e comum em POO para estender comportamentos.


Qual(is) afirmativa(s) está(ão) correta(s)?


A

Todas as três afirmativas estão corretas.


B

Somente as afirmativas I e III.


C

Somente as afirmativas II e III.


D

Somente as afirmativas I e II.


E

Somente a afirmativa I.

Uma linguagem orientada a objetos deve fornecer suporte para três recursos chave de linguagem, quais sejam:


A

Polimorfismo, recursão e herança.


B

Tipos de dados abstratos, herança e vinculação dinâmica.


C

Tipos de dados abstratos, recursão e vinculação dinâmica.


D

Herança simples, herança múltipla e herança aninhada.


E

Tipos de dados abstratos, mônadas e encapsulamento.

A Programação Orientada a Objetos (POO) utiliza a abstração para gerenciar a complexidade, permitindo que os desenvolvedores se concentrem nos aspectos essenciais de um objeto, ignorando os detalhes de implementação. Em linguagens como Java, a abstração pode ser implementada por meio de classes abstratas e interfaces, que definem contratos que outras classes devem seguir. Acerca desses mecanismos de abstração, registre V, para as afirmativas verdadeiras, e F, para as falsas:


(__)Uma classe abstrata (declarada com abstract) pode conter tanto métodos abstratos (sem corpo) quanto métodos concretos (com implementação).

(__)Interfaces (declaradas com interface) em Java, antes da versão 8, podiam conter apenas assinaturas de métodos (abstratos e públicos) e constantes (estáticas e finais).

(__)Uma classe pode estender (herdar) múltiplas classes abstratas, mas só pode implementar uma única interface, para evitar o problema do diamante.

(__)Não é possível criar instâncias (objetos) diretamente de uma classe abstrata ou de uma interface usando o operador new.


Assinale a alternativa que apresenta a sequência correta, de cima para baixo.


A

V, V, F, V.


B

F, V, V, F.


C

F, F, V, V.


D

V, F, F, V.

   
Gerar simulado