Questões de Concurso
Sobre programação orientada a objetos em programação
Foram encontradas 892 questões
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:
• Existe um método na superclasse responsável por calcular um benefício.
• 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).
• 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.
Analise o seguinte programa em linguagem Java SE 11:

Assinale a alternativa que apresenta a saída produzida pelo programa.
Analise o seguinte código desenvolvido em Java SE 11:

Assinale a alternativa que apresenta a saída impressa no console.
Analise a seguinte classe escrita em Java (Java SE) 11:

Considere também o seguinte teste unitário utilizando JUnit 5 (org.junit.jupiter.api):

Sobre a execução do teste unitário apresentado, assinale a alternativa correta.
Analise o seguinte programa escrito em Java conforme a especificação Java SE 11:

Considerando o comportamento do polimorfismo, qual será a saída produzida pela execução do programa?
(__)Classes podem ser entendidas como estruturas que organizam dados e comportamentos relacionados, servindo como modelo para a criação de objetos em um programa.
(__)Atributos correspondem às características ou propriedades associadas a uma classe ou objeto, enquanto métodos representam operações que podem manipular esses dados.
(__)Herança permite que uma classe utilize características definidas em outra classe, possibilitando reaproveitamento de código e organização hierárquica entre classes.
(__)Em muitos contextos de programação orientada a objetos, o polimorfismo permite que métodos com o mesmo nome apresentem comportamentos diferentes dependendo do objeto ou da classe envolvida.
(__)Na programação orientada a objetos, atributos são utilizados apenas para armazenar informações temporárias durante a execução de um método, não fazendo parte da estrutura de um objeto.
(__)Em projetos orientados a objetos, o uso de herança pode contribuir para reduzir repetição de código quando classes compartilham características semelhantes.
Assinale a alternativa que apresenta a sequência CORRETA de V (verdadeiro) e F (falso):
I. O polimorfismo permite que referências do tipo da superclasse apontem para objetos de suas subclasses.
II. O polimorfismo elimina a necessidade de herança em um sistema orientado a objetos.
III. Métodos sobrescritos em subclasses podem ser executados mesmo quando a referência do objeto é do tipo da superclasse.
Está CORRETO o que se afirma em:
I. Em um sistema orientado a objetos, quando um método é sobrescrito em uma subclasse, a versão do método executada é determinada em tempo de execução, de acordo com o tipo real do objeto referenciado.
II. O encapsulamento garante que os atributos de uma classe sejam sempre inacessíveis fora dela, independentemente da existência de métodos públicos de acesso.
III. Uma referência do tipo de uma superclasse pode apontar para um objeto de uma subclasse, possibilitando o uso do polimorfismo.
IV. Métodos declarados como privados (private) em uma superclasse podem ser sobrescritos por subclasses, desde que mantenham a mesma assinatura.
V. O uso de classes abstratas permite a definição de métodos sem implementação, os quais devem ser obrigatoriamente implementados pelas subclasses concretas.
Assinale a alternativa que apresenta a sequência CORRETA, de cima para baixo:
Considere o seguinte código em Java:

Com base nos princípios da Programação Orientada a Objetos e no mecanismo de herança, analise as afirmativas a seguir:
I. A classe Cachorro herda o atributo nome da classe Animal e pode acessá-lo diretamente por ele ter sido declarado como protected.
II. A anotação @Override garante, em tempo de compilação, que o método emitirSom() da subclasse esteja sobrescrevendo corretamente um método da superclasse.
III. Caso o construtor da classe Cachorro não chamasse explicitamente super(nome), o código ainda compilariam normalmente, pois o construtor da superclasse é automaticamente herdado.
IV. A classe Cachorro especializa o comportamento da superclasse ao redefinir o método emitirSom(), caracterizando polimorfismo por sobrescrita.
Assinale a alternativa CORRETA:
Nesse cenário, a escolha da implementação do método ocorre:
Um programador escreveu o seguinte programa em Java:

Na execução, ocorreu um erro indicando a não-visibilidade do atributo:
I. “A estratégia de restringir o acesso direto aos atributos da classe e permitir sua manipulação apenas por meio de métodos públicos está associada ao princípio do encapsulamento, que promove controle sobre o estado interno do objeto e reduz o acoplamento entre componentes do sistema.”
PORQUE
II. “O encapsulamento, na programação orientada a objetos, estabelece uma separação clara entre a interface exposta ao exterior e a implementação interna da classe, permitindo alterações internas sem impactar diretamente as demais partes do software.”
Assinale a alternativa correta.
O uso da palavra-chave “sealed” na declaração de uma classe ou interface em Java significa que