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.866 questões encontradas
Questões por página
20
Mais recentes
 

No paradigma de programação orientado a objetos, uma instância de uma classe é conhecida como:


A

Interface.


B

Atributo.


C

Objeto.


D

Herança.


E

Método.

Considerando os relacionamentos entre classes e os fundamentos de programação orientada a objetos, assinale a alternativa que apresenta uma relação de composição.


A

Automóvel - Carro


B

Lobo - Mamífero


C

Peixe - Animal


D

Carro - Marca

No contexto da Programação Orientada a Objetos, o Princípio do Aberto/Fechado (OCP − Open/Closed Principle) orienta a evolução de sistemas de software. Nesse contexto, é correto afirmar que:


A

O OCP incentiva a extensão de funcionalidades por meio de herança direta de classes concretas.


B

O OCP recomenda o uso de abstrações, como interfaces ou classes abstratas, para permitir a extensão de comportamento sem modificar o código existente.


C

O OCP estabelece que uma classe deve possuir apenas uma única responsabilidade.


D

O OCP não se aplica a linguagens orientadas a objetos como Java.


E

O OCP exige que todas as classes sejam declaradas como final para evitar modificações futuras.

Uma classe denominada Figura define um método desenhar(), mas não o implementa. Esse método não possui argumento de entrada, nem retorna valor. As classes Triangulo, Quadrado e Circulo são subclasses de Figura, e cada uma define o método desenhar() com a mesma assinatura do método citado anteriormente, porém com implementações distintas. O conceito de programação orientada a objetos que permite que instâncias de Triângulo, Quadrado e Circulo sejam tratadas como objetos do tipo Figura, fazendo com que o método desenhar() específico seja invocado em função do tipo do objetivo é:


A

Encapsulamento.


B

Polimorfismo.


C

Pacote.


D

Sobrecarga de métodos.


E

Classe.

Em programação orientada a objetos com tipagem estática, considere uma hierarquia de tipos em que:


1.Métodos podem ser sobrescritos (overriding ) em subclasses;

2.Métodos podem ser sobrecarregados (overloading) dentro de uma mesma classe ou escopo;

3.O sistema de tipos suporta covariância de retorno (o tipo de retorno pode ser mais específico na sobrescrita);

4.Não há suporte à contravariância em parâmetros de métodos sobrescritos (ou seja, a assinatura deve manter compatibilidade estrita nos parâmetros);

5.A resolução de sobrecarga ocorre em tempo de compilação, enquanto a sobrescrita utiliza despacho dinâmico (dynamic dispatch).


Analise as sentenças a seguir e assinale a alternativa correta:


A

A sobrecarga permite múltiplos métodos com o mesmo nome diferenciados por assinatura, sendo resolvida em tempo de compilação, enquanto a sobrescrita mantém a mesma assinatura (com possível covariância no retorno) e é resolvida em tempo de execução.


B

A sobrecarga e a sobrescrita são ambas resolvidas em tempo de execução, uma vez que o sistema de tipos precisa inspecionar o tipo dinâmico dos objetos envolvidos para selecionar a implementação mais adequada, sendo diferenciadas apenas pelo fato de a sobrescrita ocorrer em hierarquias de herança.


C

Na sobrescrita, a escolha do método é feita em tempo de compilação com base no tipo estático da referência, enquanto na sobrecarga a decisão depende do tipo dinâmico dos argumentos fornecidos em tempo de execução, especialmente em cenários com herança e múltiplas implementações possíveis.


D

A sobrecarga exige que os métodos possuam tipos de retorno covariantes para permitir distinção entre assinaturas semelhantes, enquanto a sobrescrita admite variação nos parâmetros desde que haja compatibilidade estrutural e semântica entre os métodos envolvidos.


E

Na sobrescrita, é permitido alterar os tipos dos parâmetros de forma contravariante, desde que o sistema de tipos consiga garantir substituibilidade em tempo de execução, mantendo o tipo de retorno idêntico ao da superclasse para preservar a consistência da chamada.

Em sistemas baseados em programação orientada a objetos, o polimorfismo de inclusão (subtipagem) permite que uma referência tipada por uma superclasse ou interface seja associada, em tempo de execução, a instâncias de diferentes tipos concretos pertencentes à mesma hierarquia. Considere um cenário em que:


*Há uma hierarquia de tipos com sobrescrita de métodos (overriding);

*As chamadas de métodos são realizadas por meio de referências da superclasse;

*O mecanismo de despacho de métodos seleciona a implementação com base no tipo dinâmico do objeto;

*Não há uso de métodos estáticos, nem ocultação de métodos (method hiding);

*O comportamento de vinculação tardia (late binding) está corretamente implementado.


A esse respeito, assinale a alternativa correta:


A

O mecanismo descrito caracteriza despacho dinâmico (dynamic dispatch), no qual a implementação invocada é determinada em tempo de execução com base no tipo concreto do objeto, assegurando o polimorfismo por subtipagem.


B

A seleção do método a ser executado ocorre em tempo de compilação com base no tipo estático da referência, caracterizando static binding e garantindo polimorfismo de inclusão.


C

O comportamento descrito depende da utilização de polimorfismo paramétrico (parametric polymorphism), no qual tipos genéricos são definidos em tempo de compilação, sendo necessário que o compilador determine previamente as instâncias de tipos concretos para permitir a seleção dinâmica de métodos.


D

A resolução do método depende da presença de sobrecarga de métodos (overloading), em que múltiplas versões de um mesmo método são definidas com assinaturas diferentes, sendo a escolha realizada em tempo de compilação com base nos tipos dos argumentos fornecidos.


E

A ausência de métodos estáticos impede a ocorrência de polimorfismo, pois a vinculação dinâmica exige que os métodos sejam resolvidos antecipadamente pelo compilador para que possam ser corretamente associados às chamadas em tempo de execuçã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


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


A

O método exibirDados() somente poderia ser executado caso fosse declarado como static.


B

A classe Enfermeiro corresponde ao modelo estrutural utilizado para criação de objetos, enquanto enf1 representa uma instância concreta criada em memória.


C

Os atributos nome e registroCoren pertencem exclusivamente ao compilador Java, não podendo armazenar dados em tempo de execução.


D

A instrução new Enfermeiro() realiza compilação dinâmica da classe durante a execução da aplicação.


E

O objeto enf1 impede a criação de novas instâncias da classe Enfermeiro dentro da mesma aplicação.

No processo de construção de uma solução no paradigma da orientação a objetos, um Técnico em TI precisa permitir que diferentes implementações do método “Notificador” sejam usadas sem alterar o código que dispara a notificação. Diante do exposto, o conceito do paradigma da orientação a objetos que permite implementar o comportamento desejado pelo Técnico é denominado como:


A

Herança.


B

Abstração.


C

Agregação.


D

Polimorfismo.

Na orientação a objetos, qual é o caso apresentado por uma classe que possui métodos com os mesmos nomes, mas com assinaturas diferentes (tipos ou quantidade de parâmetros distintos)?


A

Agregação.


B

Composição.


C

Encapsulamento.


D

Sobrecarga.


E

Sobrescrita.

Em programação orientada a objetos, o uso do conceito de polimorfismo implica que


A

um objeto pode assumir diferentes formas, com diferentes métodos e atributos, dependendo do contexto em que for instanciado.


B

uma classe pode herdar métodos e atributos de diferentes superclasses, podendo ser utilizada em lugar de qualquer de suas superclasses.


C

um método pode ter diferentes versões, sendo que cada versão pode ser definida com parâmetros e tipos de retorno diferentes.


D

um mesmo método definido em uma interface pode executar diferentes comportamentos, dependendo do objeto no qual for chamado.

Ano: 2026
Prova: CESPE/CEBRASPE - UNEAL - Analista Administrativo - Área: Analista de Sistemas - 2026

Na arquitetura orientada a objetos, o polimorfismo baseado em ligação dinâmica (late binding) faz com que a implementação invocada de um método em tempo de execução seja determinada pelo tipo real do objeto instanciado, e não apenas pelo tipo estático da variável de referência.


C

Certo


E

Errado

No desenvolvimento do módulo de cálculo de autonomia de combustível do sistema de navegação aérea, um programador criou uma classe abstrata Aeronave com um método calcularAutonomia(). Duas subclasses, AviaoComercial e Helicoptero, herdam de Aeronave e implementam o método de maneiras totalmente distintas.

A orientação a objetos baseia-se em pilares fundamentais para promover flexibilidade e reutilização de código.


O conceito que permite a referências do tipo genérico Aeronave invocar comportamentos específicos diferentes, dependendo do tipo do objeto real apontado em tempo de execução, é


A

o Encapsulamento.


B

o Polimorfismo.


C

a Herança Múltipla.


D

a Sobrecarga de Métodos.


E

a Instanciação Estática.

Na programação Orientada a Objetos (POO), suportada por linguagens como Java e Python, existem pilares fundamentais que permitem a reutilização e a organização eficiente do código. Assinale a alternativa correta que define o conceito de "Polimorfismo" neste paradigma.


A

Definição de uma classe que não pode ser instanciada e serve apenas como modelo base para outras classes.


B

Técnica de ocultar os detalhes internos de implementação de um objeto, expondo apenas uma interface pública segura.


C

Mecanismo que permite criar uma nova classe a partir de uma classe existente, aproveitando seus atributos e métodos.


D

Capacidade de um objeto ser referenciado de várias formas, permitindo que métodos com a mesma assinatura em classes diferentes (geralmente herdeiras) tenham comportamentos distintos.


E

Processo de criação de uma instância concreta de uma classe, alocando memória para o objeto durante a execução.

Leia o fragmento de texto a seguir.


Um objeto é um indivíduo único dentro do conjunto que é a classe. Se voltarmos aos exemplos do mundo real, é possível exemplificar um objeto da classe mamífero como a VACA MIMOSA, da classe carro como o GOL AZULZINHO DO MEU PAI, e da classe funcionário como JOÃO SILVA. Um objeto é acessado por uma variável cujo tipo é a classe a qual ele pertence. Quando um programa faz uso de uma variável, ela precisa ser declarada para que espaços de memória sejam alocados e ela seja utilizada no processamento. Com os obj etos, existe essa mesma exigência. Os objetos precisam ser declarados e instanciados para que existam e possam ser utilizados.


Fonte: ASCENCIO, A. F. G.; DE CAMPOS, E. A. V. Fundamentos da programação de computadores: algoritmos, Pascal, C/C++ (padrão ANSI) e Java. 3. ed. São Paulo: Pearson Education do Brasil, 2012. p. 472. (adaptado).


Considere um sistema que foi modelado com as seguintes características:


▪ As classes expõem seus atributos como privados.

▪ O acesso aos atributos ocorre exclusivamente por meio de métodos.

▪ Há uma classe base que define comportamentos genéricos.

▪ Classes derivadas especializam esses comportamentos.

▪ Objetos são manipulados por referências do tipo da classe base.


Com base nos princípios da orientação a objetos, marque alternativa CORRETA.


A

O encapsulamento limita apenas o acesso direto aos atributos, não se estendendo ao controle de comportamento dos objetos, que é independente da visibilidade dos métodos, demandando outras ações para manutenção da integridade do código.


B

A herança permite o reaproveitamento de atributos e métodos, mas inviabiliza o polimorfismo, quando objetos são acessados por referências da superclasse, como no caso de uma ContaUsuário que herda os atributos e os métodos de Conta.


C

O polimorfismo ocorre em tempo de compilação, pois a escolha do método a ser executado depende do tipo estático da referência utilizada para a instância do objeto, que influenciará esses e outros processos de execução do código.


D

O encapsulamento controla o acesso aos dados, a herança promove especialização e reuso, e o polimorfismo possibilita que objetos de subclasses sejam tratados como da superclasse, com vinculação dinâmica de métodos.


E

A modelagem orientada a objetos prioriza a reutilização de código, dispensando a necessidade de definir responsabilidades claras para cada classe do sistema, uma vez que a estrutura organizacional do paradigma demanda essa abordagem.

Na programação orientada a objetos, o mecanismo que permite a uma classe derivada reutilizar e estender comportamentos de uma classe base denomina-se


A

encapsulamento.


B

sobrecarga.


C

associação.


D

abstração.


E

herança.

Considere que as classes Java abaixo encontram-se no mesmo pacote.


public abstract class Pessoa {

private String nome;

}

public class Funcionario extends Pessoa {

}

public class Professor extends Pessoa {

}

public class Aluno {

}


Assinale a alternativa com o trecho de código que cria uma instância de objeto corretamente.


A

Funcionario funcionario = new Pessoa()


B

Pessoa professor = new Professor()


C

Pessoa pessoa = new Pessoa()


D

Pessoa aluno = new Aluno()

No contexto do desenvolvimento de um sistema orientado a objetos em Java, um Analista de Sistemas está implementando uma hierarquia de classes para representar diferentes tipos de operações financeiras em um sistema de uma agência de fomento. Durante a implementação, objetos das subclasses são manipulados por meio de referências da superclasse para permitir maior generalização. Em determinado ponto do sistema, torna-se necessário recuperar o tipo específico do objeto para acessar comportamentos exclusivos definidos na subclasse, realizando uma conversão explícita da referência genérica para uma mais específica. Considerando os conceitos de orientação a objetos, assinale a alternativa que representa CORRETAMENTE esse tipo de conversão.


A

Upcasting.


B

Downcasting.


C

Late Binding.


D

Static Polymorphism.


E

Generalization.

No paradigma de orientação a objetos, assinale a alternativa correta.


A

Encapsulamento consiste em restringir o acesso direto a certos atributos ou métodos de um objeto, expondo interfaces controladas para interação com seus dados e comportamentos.


B

Polimorfismo significa que uma classe não pode possuir métodos com comportamentos diferentes em contextos distintos.


C

Herança impede qualquer forma de reuso de código entre classes.


D

Baixo acoplamento e alta coesão são características indesejáveis em projetos orientados a objetos.

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.


A

(V); (V); (V); (V).


B

(F); (V); (F); (V).


C

(V); (F); (V); (F).


D

(F); (F); (F); (F).

 
Ir para a página:
OK
 
Gerar simulado