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 desenvolvimento de sistemas utilizando linguagens de programação orientadas a objetos, conceitos como classes, objetos, encapsulamento, herança e polimorfismo relacionam-se às estruturas de controle de fluxo responsáveis pela definição da lógica de execução. Considerando esses aspectos, analise as afirmativas a seguir:


I.A herança possibilita o reaproveitamento de código ao permitir que uma classe derive de outra e especialize comportamentos, influenciando indiretamente a lógica aplicada em estruturas condicionais e de repetição, em função do tipo do objeto e da implementação dos métodos executados.

II.Estruturas de controle como seleção e repetição são utilizadas para definir caminhos alternativos ou repetitivos de execução, podendo atuar em conjunto com métodos sobrecarregados e objetos pertencentes a diferentes classes.

III.Objetos são instâncias de classes que concentram estado e comportamento, sendo manipulados durante a execução do programa por meio de referências e chamadas a métodos, enquanto as estruturas de controle de fluxo direcionam a ordem e as condições dessas execuções.

IV.O encapsulamento busca restringir o acesso direto aos atributos de uma classe, favorecendo a manutenção do código e permitindo que modificações internas ocorram sem necessidade de alterações na interface utilizada por outros componentes.

V.O polimorfismo está relacionado exclusivamente à sobrecarga de métodos em tempo de compilação, não estando associado a mecanismos de vinculação dinâmica ou decisões tomadas durante a execução do programa.


Assinale a alternativa correta:


A

As afirmativas I, II, III, IV e V são verdadeiras.


B

Apenas as afirmativas I, II e V são verdadeiras.


C

Apenas as afirmativas II, III e IV são verdadeiras.


D

Apenas as afirmativas I, II, III e IV são verdadeiras.

Em uma aula sobre programação orientada a objetos, o instrutor cria uma classe Conta com o método calcularTarifa(). Depois, cria as classes ContaCorrente e ContaPoupanca, cada uma com implementação própria desse método. Ao executar o mesmo método sobre objetos de classes diferentes, obtêm-se comportamentos específicos. O conceito demonstrado é:


A

Sobrecarga de construtor.


B

Herança múltipla.


C

Encapsulamento.


D

Polimorfismo.

Uma software house mantém um sistema de desenho técnico. A equipe percebeu 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.


A

O uso de abstrações e polimorfismo pode permitir a inclusão de novos comportamentos sem modificar módulos já estabilizados.


B

Pelo OCP, entidades de software devem ser abertas para ampliação, mas fechadas para modificação.


C

Quando a inclusão de um novo tipo exige alterar vários trechos existentes do sistema, isso indica rigidez e fragilidade no projeto.


D

Um projeto orientado a objetos bem estruturado deve concentrar a lógica de decisão por tipo em vários switch e if/else, pois isso facilita a inclusão de novas subclasses.

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.


A

I – abstração; II – herança; III – polimorfismo.


B

I – encapsulamento; II – herança; III – sobrescrita.


C

I – encapsulamento; II – composição; III – polimorfismo.


D

I – encapsulamento; II – herança; III – sobrecarga.


E

I – abstração; II – herança; III – sobrecarga.

Sobre a Programação Orientada a Objetos (POO), considere os itens a seguir:

I. O paradigma POO é sustentado por quatro conceitos principais, que garantem a segurança e a flexibilidade do sistema: abstração, encapsulamento, herança e polimorfismo.

II. A POO é utilizada amplamente em várias linguagens modernas, sendo a abordagem padrão e dominante em linguagens como Java e C#.

III. A POO organiza o código em objetos para facilitar a manutenção e o reuso do código.

Está correto o que se afirma em:


A

I


B

II


C

III


D

I e II


E

Todos os itens estão corretos.

Considere uma linguagem orientada a objetos com despacho dinâmico para métodos sobrescritos. Uma empresa de RH desenvolve um sistema de folha de pagamento que modela funcionários por meio de uma classe base `Funcionario`, da qual derivam `FuncionarioCLT` e `FuncionarioPJ`, cada uma sobrepondo (overriding) o método `calcularSalario()` com regras de cálculo distintas. Um módulo de relatórios recebe uma lista do tipo `Funcionario` e invoca `calcularSalario()` em cada elemento sem conhecer o tipo concreto de cada objeto. Quando a empresa contrata um novo tipo de vínculo e cria a classe `FuncionarioSocio` — também derivando de `Funcionario` e sobrepondo `calcularSalario()` — o módulo de relatórios não precisa de nenhuma alteração. Nesse contexto, assinale a alternativa que identifica corretamente os mecanismos de orientação a objetos que tornam esse comportamento possível e explica por que o módulo não precisa ser modificado.


A

O encapsulamento permite às subclasses acessar diretamente os atributos privados da superclasse; `calcularSalario()` pode ser invocado sem conhecimento do tipo concreto, e novas subclasses dispensam alterações no módulo, pois os campos privados são acessíveis por herança.


B

A herança estabelece relação de subtipo que permite a referências do tipo `Funcionario` apontarem para qualquer instância concreta; o polimorfismo por ligação dinâmica resolve `calcularSalario()` em tempo de execução para a implementação correta — novas subclasses de `Funcionario` são automaticamente compatíveis com o módulo.


C

A sobrecarga (overloading) de `calcularSalario()` nas subclasses permite ao compilador selecionar a implementação correta em tempo de compilação, com base nos tipos declarados; por ser estática, essa seleção não é afetada pela adição de novos tipos.


D

O encapsulamento impede que subclasses redefinam `calcularSalario()` de forma incompatível com a superclasse, garantindo que o módulo nunca receba objetos cujo comportamento contradiga o contrato da classe base.


E

O polimorfismo é implementado via sobrecarga (overloading): versões distintas de `calcularSalario()` são definidas na própria classe `Funcionario` e selecionadas em tempo de compilação pelos argumentos; herança não é necessária.

Na programação orientada a objetos, aplica-se o conceito de classes, sendo correto afirmar que


A

todas as classes de um programa devem possuir o mesmo número de atributos.


B

não há relação entre o número de atributos e o número de métodos de uma classe.


C

todas as classes de um programa devem possuir o mesmo número de métodos.


D

uma classe não pode possuir, simultaneamente, atributos e métodos.


E

todos atributos de uma classe devem ser do mesmo tipo.

No contexto do desenvolvimento de um sistema orientado a objetos em Java, um Analista de Sistemas está projetando uma hierarquia de classes para representar diferentes formas de cálculo de benefícios em um sistema governamental. Durante a implementação, foi definido que:


  1. Existe um método na superclasse responsável por calcular um benefício.
  2. Esse método é redefinido nas subclasses, mantendo o mesmo nome, a mesma lista de parâmetros (assinatura) e o mesmo tipo de retorno (ou compatível/covariante).
  3. A escolha de qual implementação será executada ocorre em tempo de execução, de acordo com o tipo real do objeto


Considerando os conceitos de polimorfismo na orientação a objetos, assinale a alternativa que representa CORRETAMENTE esse mecanismo.


A

Sobrescrita (Override).


B

Sobrecarga(Overload).


C

Vinculação estática (Early Binding).


D

Especialização de método (Method Specialization).


E

Implementação sequencial (Sequential Implementation).

No contexto do desenvolvimento de um sistema orientado a objetos em Java, um Analista de Sistemas está projetando um módulo para gerenciamento de operações em uma agência de fomento. Durante a implementação, cada entidade do sistema, como beneficiários e operações financeiras, é criada a partir de uma estrutura que define atributos e métodos, passando a possuir valores proprios e comportamentos específicos que podem ser executados ao longo do sistema. Considerando os conceitos fundamentais da orientação a objetos, assinale a alternativa que representa CORRETAMENTE essas instâncias criadas a partir de classes.


A

Classes.


B

Objetos.


C

Métodos.


D

Atributos.


E

Interfaces.

A programação moderna utiliza paradigmas que buscam aproximar a representação do software aos conceitos do mundo real, facilitando a reutilização e a manutenção do código. Considerando os princípios da Programação Orientada a Objetos e o uso de sistemas de controle de versão, analise as afirmativas a seguir:


I.O polimorfismo permite que objetos de diferentes classes derivadas sejam tratados como objetos de uma classe base comum, respondendo de formas distintas à mesma chamada de método.

II.O encapsulamento é a técnica que consiste em expor todos os atributos internos de uma classe como variáveis públicas para permitir o acesso direto e irrestrito por qualquer módulo do sistema.

III.No sistema de versionamento Git, o comando de envio é utilizado para transferir as alterações confirmadas do repositório local para um repositório remoto compartilhado.


Está correto o que se afirma em:


A

I, II e III.


B

II apenas.


C

I e III apenas.


D

I e II apenas.

Na programação orientada a objetos, a sobrecarga de método significa, especificamente, que


A

o método com tal característica sobrecarrega a memória.


B

possa haver mais de uma implementação de um método, com o mesmo nome para o método.


C

um dos parâmetros desse método deve ser do tipo booleano.


D

o método com tal característica pode provocar desligamento do computador.


E

esse método possui um número muito grande de parâmetros.

No paradigma da Programação Orientada a Objetos, o conceito que permite que uma referência de uma superclasse invoque métodos sobrescritos em subclasses, apresentando comportamentos diferentes, conforme o objeto instanciado, é denominado:


A

abstração.


B

encapsulamento.


C

generalização.


D

herança.


E

polimorfismo.

O conceito que permite referenciar objetos de subclasses como se fossem objetos de sua superclasse, possibilitando que o programa determine em tempo de execução qual método chamar com base no tipo do objeto, é denominado


A

encapsulamento.


B

sobrecarga de métodos.


C

polimorfismo.


D

herança simples.

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):


A

Apenas I e II.


B

Apenas I e III.


C

Apenas II e III.


D

I, II e III.

Sobre os conceitos centrais da programação orientada a objetos, analise as assertivas abaixo:

I. A herança possibilita que uma classe derivada (subclasse) adquira automaticamente os atributos e métodos de uma classe base (superclasse).

II. O polimorfismo permite tratar diferentes objetos por meio de uma interface comum, em que cada objeto pode implementar a ação de forma específica para a sua classe.

III. O encapsulamento trata do isolamento dos dados de um objeto, unindo seus atributos e métodos dentro da classe e limitando o acesso externo.

Quais estão corretas?


A

Apenas II.


B

Apenas I e III.


C

Apenas II e III.


D

I, II e III.

Em arquiteturas de software orientadas a objetos, a principal função das classes é armazenar dados, e a interação entre objetos não tem impacto significativo no design do sistema.


C

Certo


E

Errado

Em engenharia de software, a programação orientada a objetos (OOP) é limitada a Java e não pode ser implementada em PHP, que segue um paradigma exclusivamente procedural.


C

Certo


E

Errado

   
Gerar simulado