wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Quiz sobre Programação Orientada a Objetos com Java

Total questions: 75

Worksheet time: 2hrs 53mins

Name
Class
Date
1.

O que é um objeto em Java?

a)

Uma função que executa tarefas específicas.

b)

Um arquivo de texto usado para armazenar código Java.

c)

Um pequeno programa que guarda dados e instruções para processá-los.

d)

Um diretório que organiza classes.

2.

Qual é o nome dado às variáveis que um objeto guarda?

a)

Pacotes

b)

Classes

c)

Atributos

d)

Métodos

3.

O que é uma classe em Java?

a)

Um diretório que organiza pacotes.

b)

Um método que executa tarefas específicas.

c)

Um modelo que descreve objetos.

d)

Um arquivo de configuração do Eclipse.

4.

Qual é a função do coletor de lixo em Java?

a)

Compilar o código Java.

b)

Interpretar instruções compiladas.

c)

Remover objetos que não são mais utilizados da memória.

d)

Organizar pacotes em diretórios.

5.

Qual é o propósito do método main() em Java?

a)

Interpretar instruções compiladas.

b)

Organizar classes em pacotes.

c)

Compilar o código Java.

d)

Criar os primeiros objetos e passar tarefas iniciais.

6.

O que significa a palavra-chave 'public' em Java?

a)

Que o método ou classe pode ser acessado por qualquer outra classe.

b)

Que o método ou classe é privado e só pode ser acessado internamente.

c)

Que o método ou classe é estático e não depende de objetos.

d)

Que o método ou classe é protegido e só pode ser acessado por subclasses.

7.

Qual é o tipo de retorno do método main()?

a)

String

b)

void

c)

int

d)

boolean

8.

O que é um construtor em Java?

a)

Um método especial usado para criar objetos.

b)

Um arquivo que organiza pacotes.

c)

Uma função que compila o código Java.

d)

Um diretório que contém classes.

9.

Qual é a palavra reservada usada para criar objetos em Java?

a)

object

b)

new

c)

create

d)

instance

10.

O que é herança em Java?

a)

A compilação de código para diferentes sistemas operacionais.

b)

A criação de objetos a partir de classes.

c)

A organização de classes em pacotes.

d)

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

11.

Qual é o tipo primitivo usado para representar números inteiros em Java?

a)

double

b)

char

c)

float

d)

int

12.

Qual é o tipo primitivo usado para representar caracteres em Java?

a)

boolean

b)

byte

c)

string

d)

char

13.

Qual é o operador usado para concatenar Strings em Java?

a)

+

b)

&

c)

-

d)

*

14.

Qual é a função do método lactar() na classe Mamifero?

a)

Retornar o tipo de alimento que o mamífero consome.

b)

Retornar o produto da lactação.

c)

Criar objetos da classe Mamifero.

d)

Organizar métodos da classe Animal.

15.

Qual é a vantagem de usar pacotes em Java?

a)

Criar objetos automaticamente.

b)

Interpretar instruções compiladas.

c)

Compilar o código mais rapidamente.

d)

Evitar conflitos entre classes com nomes iguais.

16.

Qual é o nome do ambiente integrado de desenvolvimento mencionado no texto?

a)

Eclipse

b)

IntelliJ IDEA

c)

NetBeans

d)

Visual Studio Code

17.

Qual é o comando usado para criar um novo projeto no Eclipse?

a)

Control + O

b)

Control + N

c)

Control + P

d)

Control + M

18.

Qual é o nome do método usado para imprimir no console em Java?

a)

write()

b)

console.log()

c)

print()

d)

System.out.println()

19.

Qual é o tipo primitivo usado para representar números com frações em Java?

a)

byte

b)

char

c)

float

d)

int

20.

Qual é a palavra-chave usada para declarar atributos privados em Java?

a)

private

b)

static

c)

public

d)

protected

21.

Em um sistema de gerenciamento de biblioteca, foi projetada a classe `Livro` com os atributos `titulo`, `autor` e `exemplarDisponivel`. Para manipulação dos dados, foram criados métodos como `emprestar()` e `devolver()`. Com base nesse cenário, analise as seguintes asserções:

I. O uso de métodos como `emprestar()` ao invés de permitir manipulação direta do atributo `exemplarDisponivel` reforça o princípio do encapsulamento.

II. A criação da classe `Livro` representa o uso do princípio da abstração.

III. Se a classe `Livro` fosse uma interface, ela deveria obrigatoriamente conter implementações para seus métodos.

IV. O uso de `getTitulo()` e `setTitulo()` são exemplos de polimorfismo.

V. O relacionamento entre `Livro` e `Biblioteca` pode ser considerado uma herança.

Marque a alternativa correta:

a)

Apenas I e II

b)

Apenas II, III e IV

c)

Apenas III e V

d)

Apenas IV

e)

Todas estão corretas

22.

Considere um sistema de controle de acesso onde há uma interface `Autenticavel` com o método `autenticar(senha)`. As classes `UsuarioComum` e `Administrador` implementam essa interface com validações específicas. Com base nesse contexto, analise as afirmações: I. O uso de interface favorece a aplicação do polimorfismo. II. A implementação do método `autenticar` em múltiplas classes caracteriza herança múltipla. III. A verificação da senha dentro do método `autenticar()` está relacionada à responsabilidade da classe. IV. O uso da interface impede que as classes implementem outros comportamentos. V. Interfaces ajudam a garantir que todas as classes sigam um contrato comum. Assinale a alternativa correta:

a)

Apenas I, III e V

b)

Apenas II e IV

c)

Apenas III

d)

Apenas I, II e V

e)

Todas estão corretas

23.

Em um sistema de transporte, existem as classes `Veiculo`, `Carro` e `Moto`. A classe `Veiculo` é abstrata e define um método `mover()` que é implementado pelas subclasses com comportamentos distintos. Com base nesse cenário, analise as afirmativas a seguir: I. O uso da palavra-chave `abstract` em `Veiculo` indica que ela pode ser instanciada diretamente. II. O comportamento distinto de `mover()` em `Carro` e `Moto` representa polimorfismo em tempo de execução. III. A classe `Veiculo` serve como uma generalização de comportamentos comuns às subclasses. IV. O uso de uma classe abstrata quebra o princípio do encapsulamento. V. O conceito de herança está presente na relação entre `Veiculo` e suas subclasses. Assinale a alternativa correta:

a)

Apenas II, III e V

b)

Apenas I e IV

c)

Apenas I, II e IV

d)

Apenas III e IV

e)

Todas estão corretas

24.

Considere um sistema de vendas online com as classes `Cliente`, `Produto`, `CarrinhoDeCompras` e `Pedido`. O `CarrinhoDeCompras` agrega vários `Produto`s antes de ser convertido em um `Pedido`. Analise as seguintes asserções com base na modelagem orientada a objetos: I. A relação entre `CarrinhoDeCompras` e `Produto` é de composição, pois os produtos não existem sem o carrinho. II. A conversão do carrinho em pedido representa a transição de estados dentro de um ciclo de vida de objetos. III. `Pedido` pode conter uma referência à instância de `CarrinhoDeCompras` para manter o histórico da compra. IV. O relacionamento entre `Cliente` e `Pedido` pode ser representado por associação UML. V. `CarrinhoDeCompras` é uma subclasse de `Pedido`. Assinale a alternativa correta:

a)

Apenas II, III e IV

b)

Apenas I, II e V

c)

Apenas III e V

d)

Apenas IV

e)

Todas estão corretas

25.

Em um sistema de cadastro de pessoas, a classe `Pessoa` é superclasse de `Aluno` e `Professor`, contendo atributos e métodos comuns. Cada subclasse possui atributos específicos. Analise as assertivas abaixo: I. A criação de `Pessoa` como superclasse reduz a duplicação de código. II. `Aluno` e `Professor` devem sobrescrever todos os métodos da superclasse. III. A herança facilita a reutilização de código e promove a extensibilidade. IV. A relação entre `Pessoa` e `Aluno` é um exemplo de herança. V. A herança é sempre preferível à composição em sistemas orientados a objetos. Assinale a alternativa correta:

a)

Apenas I, III e IV

b)

Apenas II e V

c)

Apenas I, II e V

d)

Apenas IV

e)

Todas estão corretas

26.

Em um sistema de agendamento de consultas médicas, as classes `Paciente`, `Consulta`, `Medico` e `Horario` são utilizadas para organizar os atendimentos. Analise as assertivas abaixo: I. A relação entre `Paciente` e `Consulta` é de agregação, pois a consulta depende da existência do paciente. II. A classe `Medico` pode ter métodos como `realizarConsulta()` e `verAgenda()`, que representam seu comportamento no sistema. III. A classe `Horario` pode ser modelada como parte da classe `Consulta`, caracterizando composição. IV. O uso de métodos públicos para acesso a atributos encapsulados quebra o princípio da orientação a objetos. V. O relacionamento entre `Consulta` e `Medico` pode ser considerado herança.

a)

Apenas I, II e III

b)

Apenas I, III e IV

c)

Apenas II e V

d)

Apenas IV

e)

Todas estão corretas

27.

Em um sistema de agendamento de consultas médicas, as classes `Paciente`, `Consulta`, `Medico` e `Horario` são utilizadas para organizar os atendimentos. Analise as assertivas abaixo: I. A relação entre `Paciente` e `Consulta` é de agregação, pois a consulta depende da existência do paciente. II. A classe `Medico` pode ter métodos como `realizarConsulta()` e `verAgenda()`, que representam seu comportamento no sistema. III. A classe `Horario` pode ser modelada como parte da classe `Consulta`, caracterizando composição. IV. O uso de métodos públicos para acesso a atributos encapsulados quebra o princípio da orientação a objetos. V. O relacionamento entre `Consulta` e `Medico` pode ser considerado herança.

a)

Apenas I, II e III

b)

Apenas I, III e IV

c)

Apenas II e V

d)

Apenas IV

e)

Todas estão corretas

28.

Em um sistema de agendamento de consultas médicas, as classes `Paciente`, `Consulta`, `Medico` e `Horario` são utilizadas para organizar os atendimentos. Analise as assertivas abaixo: I. A relação entre `Paciente` e `Consulta` é de agregação, pois a consulta depende da existência do paciente. II. A classe `Medico` pode ter métodos como `realizarConsulta()` e `verAgenda()`, que representam seu comportamento no sistema. III. A classe `Horario` pode ser modelada como parte da classe `Consulta`, caracterizando composição. IV. O uso de métodos públicos para acesso a atributos encapsulados quebra o princípio da orientação a objetos. V. O relacionamento entre `Consulta` e `Medico` pode ser considerado herança.

a)

Apenas I, II e III

b)

Apenas I, III e IV

c)

Apenas II e V

d)

Apenas IV

e)

Todas estão corretas

29.

Em um sistema de agendamento de consultas médicas, as classes `Paciente`, `Consulta`, `Medico` e `Horario` são utilizadas para organizar os atendimentos. Analise as assertivas abaixo: I. A relação entre `Paciente` e `Consulta` é de agregação, pois a consulta depende da existência do paciente. II. A classe `Medico` pode ter métodos como `realizarConsulta()` e `verAgenda()`, que representam seu comportamento no sistema. III. A classe `Horario` pode ser modelada como parte da classe `Consulta`, caracterizando composição. IV. O uso de métodos públicos para acesso a atributos encapsulados quebra o princípio da orientação a objetos. V. O relacionamento entre `Consulta` e `Medico` pode ser considerado herança.

a)

Apenas I, II e III

b)

Apenas I, III e IV

c)

Apenas II e V

d)

Apenas IV

e)

Todas estão corretas

30.

Em um sistema de agendamento de consultas médicas, as classes `Paciente`, `Consulta`, `Medico` e `Horario` são utilizadas para organizar os atendimentos. Analise as assertivas abaixo: I. A relação entre `Paciente` e `Consulta` é de agregação, pois a consulta depende da existência do paciente. II. A classe `Medico` pode ter métodos como `realizarConsulta()` e `verAgenda()`, que representam seu comportamento no sistema. III. A classe `Horario` pode ser modelada como parte da classe `Consulta`, caracterizando composição. IV. O uso de métodos públicos para acesso a atributos encapsulados quebra o princípio da orientação a objetos. V. O relacionamento entre `Consulta` e `Medico` pode ser considerado herança.

a)

Apenas I, II e III

b)

Apenas I, III e IV

c)

Apenas II e V

d)

Apenas IV

e)

Todas estão corretas

31.

Em um sistema de agendamento de consultas médicas, as classes `Paciente`, `Consulta`, `Medico` e `Horario` são utilizadas para organizar os atendimentos. Analise as assertivas abaixo: I. A relação entre `Paciente` e `Consulta` é de agregação, pois a consulta depende da existência do paciente. II. A classe `Medico` pode ter métodos como `realizarConsulta()` e `verAgenda()`, que representam seu comportamento no sistema. III. A classe `Horario` pode ser modelada como parte da classe `Consulta`, caracterizando composição. IV. O uso de métodos públicos para acesso a atributos encapsulados quebra o princípio da orientação a objetos. V. O relacionamento entre `Consulta` e `Medico` pode ser considerado herança.

a)

Apenas I, II e III

b)

Apenas I, III e IV

c)

Apenas II e V

d)

Apenas IV

e)

Todas estão corretas

32.

Em um sistema de agendamento de consultas médicas, as classes `Paciente`, `Consulta`, `Medico` e `Horario` são utilizadas para organizar os atendimentos. Analise as assertivas abaixo: I. A relação entre `Paciente` e `Consulta` é de agregação, pois a consulta depende da existência do paciente. II. A classe `Medico` pode ter métodos como `realizarConsulta()` e `verAgenda()`, que representam seu comportamento no sistema. III. A classe `Horario` pode ser modelada como parte da classe `Consulta`, caracterizando composição. IV. O uso de métodos públicos para acesso a atributos encapsulados quebra o princípio da orientação a objetos. V. O relacionamento entre `Consulta` e `Medico` pode ser considerado herança.

a)

Apenas I, II e III

b)

Apenas I, III e IV

c)

Apenas II e V

d)

Apenas IV

e)

Todas estão corretas

33.

Qual é o principal conceito por trás da herança na Programação Orientada a Objetos (POO) e seu maior benefício?

a)

O encapsulamento de dados, permitindo que os membros private de uma superclasse sejam acessados diretamente pela subclasse.

b)

O relacionamento tem um (composição), que permite que um objeto contenha como membros referências a outros objetos.

c)

Uma forma de reutilização de software, onde uma nova classe absorve membros de uma classe existente e é aprimorada, economizando tempo no desenvolvimento.

d)

A vinculação dinâmica, que resolve chamadas de método em tempo de compilação (vinculação estática).

34.

Em POO, é fundamental distinguir entre o relacionamento "é um" e o relacionamento "tem um". Qual afirmação define corretamente a aplicação desses relacionamentos?

a)

O relacionamento é um representa a composição (por exemplo, um Empregado é um ClienteDaEmpresa).

b)

O relacionamento é um representa a herança, onde um objeto de uma subclasse também pode ser tratado como um objeto de sua superclasse, mas não o contrário.

c)

O relacionamento tem um representa a herança, e o é um representa a especialização (polimorfismo).

d)

O relacionamento tem um representa a herança, onde a superclasse é mais específica que a subclasse.

35.

O polimorfismo permite que um programa manipule objetos que compartilham uma superclasse como se todos fossem objetos da superclasse. Em um cenário onde uma variável do tipo Superclasse (por exemplo, Animal) contém uma referência a um objeto do tipo Subclasse (por exemplo, Pássaro), e o método mover() é invocado, o que determina o método real a ser executado?

a)

O tipo da variável (Superclasse), pois o compilador verifica a declaração do método nesse tipo.

b)

A palavra-chave final utilizada na superclasse, que força a vinculação estática em tempo de compilação.

c)

A implementação do método na classe Object, pois todas as classes herdam dele.

d)

O tipo do objeto que a variável referencia (o objeto Subclasse), pois em tempo de execução o processo de vinculação dinâmica seleciona a versão correta do método.

36.

Qual das seguintes características é VERDADEIRA ao descrever a distinção ou o uso das classes abstratas e das interfaces em Java?

a)

Interfaces podem especificar detalhes de implementação, como declarações de métodos concretos e variáveis de instância.

b)

Classes abstratas podem ser usadas para instanciar objetos, contanto que contenham pelo menos um método concreto.

c)

Interfaces são geralmente utilizadas quando há uma implementação padrão que classes não relacionadas podem herdar.

d)

O Java só suporta a herança simples (estender apenas uma superclasse), mas permite que uma classe implemente várias interfaces para processar objetos de classes não relacionadas polimorficamente.

37.

Em uma hierarquia de herança em Java, como os membros declarados com o modificador de acesso protected na superclasse se comportam em relação à subclasse e a outras classes?

a)

Podem ser acessados por membros dessa superclasse, por membros de suas subclasses e por membros de outras classes no mesmo pacote.

b)

São acessíveis apenas dentro da própria superclasse, assim como os membros private.

c)

Retêm seu modificador de acesso original, mas só podem ser referenciados pelos métodos public herdados.

d)

Aumentam a fragilidade do software, pois o acesso direto a essas variáveis na subclasse é considerado uma prática ruim de engenharia de software.

38.

Padrões de projeto são descritos como soluções típicas para problemas comuns em projeto de software. Qual das alternativas abaixo estabelece a distinção correta entre um Padrão de Projeto e um Algoritmo, conforme a analogia apresentada nas fontes?

a)

Ambos são como receitas culinárias, mas o padrão é mais focado em linguagens de programação.

b)

O algoritmo é como uma receita (etapas claras para uma meta), e o padrão é como uma planta de obras (descrição de alto nível, onde a ordem exata de implementação depende do desenvolvedor).

c)

Um algoritmo é uma planta de obras (alto nível), enquanto o padrão é uma receita passo-a-passo (etapas claras).

d)

O padrão sempre define um conjunto claro de ações para atingir uma meta, e o algoritmo é a descrição de alto nível da solução.

39.

Os padrões de projeto podem ser categorizados pelo seu propósito. Qual é o principal foco dos Padrões Criacionais?

a)

Explicar como montar objetos e classes em estruturas maiores, mantendo-as flexíveis e eficientes.

b)

Cuidar da comunicação eficiente e da atribuição de responsabilidades entre objetos.

c)

Focar em soluções que se aplicam apenas a uma única linguagem de programação (padrões idiomáticos).

d)

Fornecer mecanismos de criação de objetos que aumentam a flexibilidade e a reutilização de código.

40.

O conceito de padrões foi originalmente descrito por Christopher Alexander, mas foi aplicado à programação orientada a objetos (POO) em 1994, resultando no livro conhecido como "livro GoF". Qual grupo de autores é responsável pela publicação desse livro que detalhou 23 padrões de POO?

a)

Oleksandr Shvets, Olga Skobeleva, Christopher Alexander, e Richard Helm.

b)

Erich Gamma, John Vlissides, Ralph Johnson, e Richard Helm.

c)

Ralph Johnson, Christopher Alexander, Alan Turing, e John Vlissides

d)

A Gangue dos Quatro foi um grupo de desenvolvedores anônimos que catalogaram soluções típicas.

41.

Qual afirmação descreve de forma mais precisa o propósito fundamental de um Padrão de Projeto no contexto do desenvolvimento de software?

a)

Padrões de projeto são um conjunto claro de ações, como um algoritmo ou uma receita, que visa atingir uma meta específica.

b)

Padrões de projeto são um pedaço de código específico que pode ser copiado e colado em diferentes programas para resolver problemas de projeto.

c)

Padrões de projeto são soluções típicas e reutilizáveis para problemas comuns e recorrentes que surgem no projeto (design) de software, servindo como uma descrição de alto nível de uma solução.

d)

Padrões de projeto são soluções de baixo nível (idiomáticas) que se aplicam unicamente a uma linguagem de programação específica.

42.

Considerando que Padrões de Projeto são "soluções típicas para problemas comuns em projeto de software", em qual fase ou atividade de processo de desenvolvimento de software o uso de padrões de projeto é mais diretamente e intensamente aplicado?

a)

Fase de Codificação/Implementação (onde o código é escrito e os algoritmos são implementados).

b)

Fase de Teste e Validação (onde a funcionalidade é verificada e os Code Smells são identificados).

c)

Fase de Análise de Requisitos (onde o problema e o domínio são definidos, antes de qualquer consideração sobre a arquitetura).

d)

Fase de Projeto/Design (onde as classes e objetos são estruturados e as responsabilidades são assinaladas para manter as estruturas flexíveis e eficientes).

43.

Qual é o objetivo do programa solicitado no enunciado da questão?

a)

Impedir que um número inteiro seja dividido por outro número inteiro ímpar, encerrando o programa.

b)

Permitir que qualquer número inteiro seja dividido por outro número inteiro.

c)

Impedir que um número inteiro seja dividido por zero.

d)

Permitir apenas divisões entre números pares.

44.

De acordo com o comentário do avaliador, qual foi um dos problemas do código apresentado pelo aluno?

a)

Não há declarações corretas de classes e nem heranças da classe exception.

b)

O código não possui variáveis suficientes.

c)

O código não utiliza funções matemáticas.

d)

O código está escrito em uma linguagem errada.

45.

O que a exceção personalizada NumImparException representa no código apresentado?

a)

Representa uma exceção lançada quando se tenta dividir por um número ímpar.

b)

Representa uma exceção lançada quando se tenta dividir por zero.

c)

Representa uma exceção lançada quando se tenta multiplicar dois números.

d)

Representa uma exceção lançada quando se tenta dividir por um número par.

46.

O que acontece quando o método dividir recebe como divisor um número ímpar?

a)

Uma exceção do tipo NumImparException é lançada.

b)

O resultado da divisão é retornado normalmente.

c)

O programa entra em loop infinito.

d)

O método retorna zero.

47.

No método main, qual valor é atribuído à variável num2 e qual é a consequência disso?

a)

num2 recebe 3, o que faz lançar a exceção NumImparException.

b)

num2 recebe 10, o que faz lançar a exceção NumImparException.

c)

num2 recebe 2, o que permite a divisão normalmente.

d)

num2 recebe 0, o que causa uma exceção de divisão por zero.

48.

O que é uma exceção no .NET?

a)

Um objeto que sinaliza um erro ou evento inesperado no fluxo normal do programa.

b)

Um tipo de variável usada para armazenar dados temporários.

c)

Um método especial para criar interfaces gráficas.

d)

Um comando para otimizar o desempenho do programa.

49.

Qual é o objetivo de implementar uma exceção personalizada em um programa?

a)

Permitir que um número inteiro não possa ser dividido por outro número inteiro ímpar, encerrando o programa.

b)

Aumentar a velocidade de execução do código.

c)

Reduzir o consumo de memória do programa.

d)

Permitir que o programa rode indefinidamente sem erros.

50.

O que pode ser usado para gerar e encerrar o programa em caso de erro, segundo o texto?

a)

throw new ImparException()

b)

throw new DivideByZeroException()

c)

try-catch-finally

d)

Console.WriteLine("Erro")

51.

Segundo o comentário da resposta, qual foi um dos problemas do código apresentado?

a)

As classes não foram definidas e não foi escrita a herança da exception.

b)

O código não possui nenhuma variável.

c)

O programa não imprime nenhuma mensagem.

d)

O código não utiliza operadores aritméticos.

52.

Qual é o propósito da exceção personalizada NumImparException no código apresentado?

a)

Impedir a divisão por um número ímpar.

b)

Impedir a divisão por zero.

c)

Impedir a entrada de números negativos.

d)

Impedir a entrada de números decimais.

53.

Qual mensagem é exibida ao usuário se ele digitar um valor não inteiro?

a)

Erro: Certifique-se de que você digitou números inteiros válidos.

b)

Erro: Não é permitido dividir por um número ímpar.

c)

Erro inesperado: (mensagem da exceção).

d)

Resultado da divisão: (resultado).

54.

O que o programa faz após calcular o resultado da divisão?

a)

Exibe o resultado da divisão.

b)

Solicita novos valores.

c)

Encerra imediatamente.

d)

Lança uma exceção.

55.

Quais são algumas das classes identificadas no cenário de controle de comanda eletrônica da padaria?

a)

Comanda, Item da comanda, Produto, Caixa

b)

Cliente, Fornecedor, Estoque, Entrega

c)

Mesa, Garçom, Cardápio, Cozinha

d)

Pedido, Nota Fiscal, Estoque, Forno

56.

Qual dos seguintes é um atributo da classe Produto no cenário apresentado?

a)

ID do produto e valor

b)

Nome do cliente e endereço

c)

Quantidade de mesas e horário de funcionamento

d)

Data de validade e fornecedor

57.

Qual é a principal função do método associado à classe Caixa no sistema descrito?

a)

Verificar a comanda, analisar os produtos, somar os itens, calcular o total, subtrair o valor entregue e imprimir o total da compra e o troco

b)

Registrar novos produtos no estoque

c)

Gerar relatórios financeiros mensais

d)

Controlar o horário de entrada dos funcionários

58.

O que é uma interface em programação orientada a objetos?

a)

Um contrato que garante ao cliente como suas classes ou estruturas irão se comportar.

b)

Um método que executa uma função específica.

c)

Uma classe abstrata com implementação parcial.

d)

Um tipo de variável global.

59.

Qual das alternativas abaixo descreve corretamente o uso de interfaces?

a)

Interfaces são usadas quando não é possível herdar de uma classe.

b)

Interfaces servem apenas para armazenar dados.

c)

Interfaces são usadas apenas para criar métodos privados.

d)

Interfaces não podem ser herdadas por mais de uma classe.

60.

No exemplo de código apresentado, qual será a saída do método Main?

a)

Saving Account Process saving account

b)

Saving Account Process saving account Account Info Process account

c)

Account Info Process account

d)

Account Info Process saving account

61.

No código apresentado, qual é a função do método AccountInfo() na classe SavingAccount?

a)

Retornar a string "Saving Account".

b)

Processar a conta.

c)

Imprimir "Process saving account".

d)

Criar uma nova conta.

62.

O que acontece quando o método process() é chamado no objeto account do tipo SavingAccount?

a)

Exibe a mensagem "Process saving account" no console.

b)

Retorna a string "Saving Account".

c)

Cria uma nova instância de SavingAccount.

d)

Exibe a mensagem "Account processed" no console.

63.

O que o método Console.WriteLine está imprimindo quando chamado após a variável "account" receber o método AccountInfo()?

a)

Saving Account

b)

Process saving account

c)

public void process()

d)

Nota Máxima

64.

O que acontece quando o método "account.process()" é chamado no Main?

a)

Imprime "Process saving account"

b)

Imprime "Saving Account"

c)

Imprime "Nota Máxima"

d)

Imprime "public void process()"

65.

Qual é a diferença entre o método chamado por "account.process()" e o método chamado por AccountInfo()?

a)

O método "process()" imprime uma mensagem diferente de AccountInfo()

b)

Ambos imprimem a mesma mensagem

c)

O método "process()" não imprime nada

d)

AccountInfo() não retorna nada

66.

O que está faltando para Vinicius entregar a funcionalidade de exclusão de tarifa bancária corretamente em uma aplicação .Net com Entity Framework? Analise as afirmações abaixo e indique a alternativa que representa todas as afirmações corretas. I- Colocar a chamada para o método SaveChanges, disponível na variável contexto, assim: contexto.SaveChanges(); II- Fechar o contexto assim: contexto.Close(); III- Comitar a transação usando o método CommitTransaction, disponível na variável contexto, assim: contexto.CommitTransaction();

a)

Somente I

b)

Somente II

c)

Somente III

d)

I e II

e)

I, II e III

67.

O C# possui duas palavras chaves que ajudam na implementação do tratamento de exceções via a construção de dois blocos encabeçados por essas palavras-chave. No código a seguir, quais palavras preenchem corretamente os espaços em branco? int x = 12; int y = 0; _____ { int z = x / y; Console.WriteLine(z); } _____ (Exception e) { Console.WriteLine("Error"); }

a)

if, else

b)

this, elif

c)

do, while

d)

for, continue

e)

try, catch

68.

O polimorfismo ocorre quando há uma hierarquia de classes e elas são relacionadas por herança de uma classe base comum. O polimorfismo também significa que uma chamada para um método membro fará com que uma implementação diferente seja executada, dependendo do tipo de objeto que chama o método. Analise o código a seguir, que define uma classe que possui um método Late() público e virtual. Escolha a alternativa que melhor preenche os campos em branco na sua ordem de aparição. ____ Animal { ____ ____ void Late() { Console.WriteLine("latindo"); } }

a)

Void, virtual, public

b)

class, public, virtual

c)

Virtual, public, class

d)

Class, public, void

e)

Virtual, void, class

69.

Sobre diagramas de classes e associação bidirecional, analise as afirmativas a seguir: I. Cada um se refere a classe do outro II. Um objeto da Classe A pode acessar objetos da Classe B a qual é associada III. Também, um objeto da Classe B pode acessar objetos da Classe A a qual é associada IV. Objetos da Classe B pertencem a Classe A e implica referência de B para A. Quais afirmativas estão corretas?

a)

I, III e IV

b)

II, III e IV

c)

III e IV somente

d)

I, II, III e IV

e)

I e II somente

70.

Sobre herança, no contexto da programação orientada a objetos, assinale a alternativa correta:

a)

Em resumo, herança pode ser definida como: Compartilhamento pela subclasse dos atributos e operações da classe pai.

b)

A subclasse herda características da classe pai com exceção da estrutura de estado interna.

c)

A subclasse herda características da classe pai com exceção do par “mensagem – método”.

d)

Herança múltipla é um conceito da orientação a objetos que diz respeito à possibilidade de uma classe ser pai de mais de uma classe.

e)

Um dos problemas levantados por críticos da orientação a objeto é que a herança requer grandes duplicações de código para ser implementada.

71.

Leia a definição a seguir dada pela obra popularmente conhecida como Gang of Four: "Defina uma família de algoritmos, encapsule cada um e torne-os intercambiáveis. A estratégia permite que o algoritmo varie independentemente dos clientes que o utilizam." Assinale a alternativa que relaciona o padrão de projeto que pode receber essa definição.

a)

Strategy (Policy)

b)

MVC

c)

Facade

d)

Observer

e)

Chain of responsibility

72.

Sobre os métodos disponíveis para uso em dicionários, qual deles remove apenas um par chave/valor relacionado à chave especificada do dicionário?

a)

RemoveAll()

b)

DeleteAll()

c)

ClearAll()

d)

Clear()

e)

Remove()

73.

O que acontece se o método AccountInfo() não for implementado na classe SavingAccount?

a)

O programa executa sem erros, mas não imprime nada.

b)

O método process() é chamado no lugar de AccountInfo().

c)

O método é chamado normalmente, mas retorna null.

d)

O código não compila devido à ausência do método exigido.

74.

Qual é o resultado esperado ao tentar remover um item inexistente de um dicionário usando o método Remove()?

a)

O método Remove() adiciona o item ao dicionário.

b)

O dicionário é limpo completamente.

c)

O programa lança uma exceção de chave não encontrada.

d)

O método retorna false e nenhum erro é lançado.

75.

Em relação ao tratamento de exceções em C#, qual bloco é executado independentemente de uma exceção ser lançada ou não?

a)

throw

b)

try

c)

catch

d)

finally