Questões de Concurso
Sobre programação orientada a objetos em programação
Foram encontradas 892 questões
(Código adaptado de código disponível em: https://www.devmedia.com.br/construtores-em-java-primeiros-passos/28618)
I - O método descrição da classe Carro sobrescreve o método da classe Veiculo.
Il — A classe Veiculo deriva diretamente da superclasse Javamaster.
III - O método descrição da classe Carro chama o método —“descricao da classe Veiculo usando super.descricao(), o que é permitido e comum em POO para estender comportamentos.
Qual(is) afirmativa(s) está(ão) correta(s)?
I - Programação Orientada a Objetos (POO) é um paradigma de programação que organiza o código em torno de "objetos”, que são instancias de "classes", esses objetos representam entidades do mundo real ou conceitos abstratos.
Il - 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)?
(__) O Singleton é implementado utilizando um método estático que retorna a única instância da classe, criando-a caso ainda não exista.
(__) O padrão Singleton é adequado para gerenciar estados globais em aplicações multithreaded, sem necessidade de sincronização explícita.
(__) A implementação de um Singleton deve garantir que o construtor da classe seja privado, impedindo a criação de instâncias fora do escopo do padrão.
(__) O Singleton é frequentemente utilizado para recursos compartilhados, como conexões de banco de dados e pools de threads, onde a instância única centraliza o controle.
A sequência está correta em:
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:
public class Sensor { protected String nome;
public Sensor(String nome) { this.nome = nome; }
public void medir() { System.out.println("Medição genérica realizada."); } } public class SensorTemperatura ______ Sensor { public void medir() { System.out.println("Medição de temperatura realizada."); } }
Assinale a alternativa que completa corretamente a lacuna no código, para que a classe SensorTemperatura herde corretamente o comportamento da classe Sensor.
Com base nos códigos apresentados, assinale a alternativa que classifica corretamente os conceitos aplicados em cada um deles.
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
• Mecanismo que permite basear uma nova classe na definição de uma classe previamente existente, assim a nova classe herda todos os atributos e comportamentos presentes na classe previamente existente.
Essa é a definição de qual conceito?
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
Sobre o tema modificadores, associe os termos às descrições, utilizando os códigos a seguir:
I. static. II. public. III. private. IV. protected.
( ) Ao ser definido em um elemento, significa que pode ser acessado apenas dentro da mesma classe.
( ) Ao ser definido em um elemento, significa que pode ser acessado apenas entre classes que se relacionam em uma hierarquia de herança.
( ) Ao ser definido em um elemento, significa que pertence à classe, em vez de pertencer a instâncias individuais dessa classe.
( ) Ao ser definido em um elemento, significa que pode ser acessado por qualquer classe, seja dentro ou fora do pacote da classe.
A associação correta, de cima para baixo, é:
Tendo como referência o tema classes concretas, classes abstratas e métodos abstratos, analise as afirmativas abaixo, assinalando V, para as Verdadeiras, e F, para as Falsas.
( ) As classes concretas atuam como modelos que definem um conjunto de características e comportamentos que suas subclasses devem seguir, sem estarem diretamente associadas a objetos.
( ) Superclasses abstratas obrigam suas subclasses a sobrescrever e implementar os métodos declarados como abstratos.
( ) Uma subclasse concreta deve fornecer implementações concretas de todos os métodos abstratos herdados da superclasse; caso contrário, será considerada abstrata também.
A sequência correta, de cima para baixo, é:
Com relação ao tema apresentado, analise as afirmativas a seguir:
I. Na ligação dinâmica, um método será executado sempre da mesma maneira, independentemente do objeto ou da interação.
II. Na ligação dinâmica, a vinculação tardia é realizada com base na referência armazenada na variável da superclasse, selecionando o método correspondente em tempo de execução.
III. A ligação dinâmica permite determinar, em tempo de execução, qual versão de um método será chamada com base no objeto.
IV. A ligação dinâmica permite que classes, que compartilham a mesma interface, forneçam suas próprias implementações de um mesmo método.
Estão corretas apenas as afirmativas
Texto publicado no XXXVI Congresso da Sociedade Brasileira de Computação diz que
“A Programação Orientada a Objetos (POO) mostra-se um paradigma de programação, influente, pelo qual a maior parte dos cursos da área de computação incluem a POO como parte de seus currículos. No entanto, o ensino de POO não é uma tarefa trivial.
Há alertas sobre as dificuldades encontradas por alunos e professores no ensino de POO; os autores apontam que é difícil para os alunos entenderem conceitos abstratos como classes, instâncias, encapsulamento, herança e construtores.
Apesar de muitos esforços terem sido feitos desde então, as disciplinas de programação ainda são responsáveis por um alto índice de reprovação nos cursos de computação.”
Considerando os conceitos de Programação Orientada a Objetos, avalie as seguintes asserções e a relação proposta entre elas:
I. A herança de classes é uma das principais características da Programação Orientada a Objetos (POO). Por meio dessa característica do paradigma POO, um objeto recebe características e comportamentos de outro objeto. Quando estiver criando classes, você vai perceber que essa possibilidade permite o reaproveitamento de código e torna o trabalho mais racional e otimizado.
PORQUE
II. Novas classes podem ser definidas em termos das classes existentes, usando-se herança de classe. Quando uma subclasse herda de uma classe-mãe, ela inclui as definições de todos os dados e operações que a classe-mãe define. Os objetos que são instâncias das subclasses conterão todos os dados definidos pela subclasse e suas classes mãe, e eles serão capazes de executar todas as operações definidas por esta subclasse e seus “ancestrais”.
A respeito dessas asserções, qual é a opção correta?
Os padrões de criação abstraem o processo de instanciação. Eles ajudam a tornar um sistema independentemente de como seus objetos são criados, compostos e representados.
Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto. Os padrões de criação se tornam importantes à medida que os sistemas evoluem no sentido de depender mais da composição de objetos do que da herança de classes.
Algumas vezes, os padrões de criação competem entre si. Por exemplo, há casos em que tanto Prototype (121) como Abstract Factory (95) podem ser usados proveitosamente.
Em outras ocasiões, eles são complementares: Builder (104) pode usar um dos outros padrões para implementar quais componentes são construídos. Prototype (121) pode usar Singleton (130) na sua implementação.
Dessa forma, é importante identificar as características de cada padrão.
Faça a associação correta entre as colunas, relacionando o tipo de padrão e suas características.
1-Abstract Factory (95). 2-Builder (104). 3-Factory Method (112). 4-Prototype (121). 5-Singleton (130).
A- Fornece uma interface para criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes concretas.
B- Garante que uma classe tenha somente uma instância e fornece um ponto global de acesso para ela.
C- Especifica os tipos de objetos a serem criados, usando uma instância prototípica, e cria novos objetos copiando este protótipo.
D- Separa a construção de um objeto complexo da sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.
E- Define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe a ser instanciada. Permite a uma classe postergar (defer) a instanciação às subclasses.
Qual é a associação correta entre números e letras?
As palavras que preenchem a sentença, completando-a corretamente, são: