Quiz sobre POO(Java)

Quiz sobre POO(Java)

Algumas perguntas para reforçar a compreensão do assunto de POO

Imagem de perfil user: Bionicom
Bionicom

Anúncios

1

O que é uma classe em POO?

Uma interface entre o usuário e o sistema
Um conjunto de dados e métodos encapsulados
Um tipo de banco de dados relacional
Uma função que realiza operações matemáticas
Uma estrutura para armazenar listas em JavaScript
2

Qual a principal finalidade do construtor em uma classe?

Criar métodos sobrecarregados
Inicializar atributos de um objeto
Criar atributos estáticos
Remover objetos da memória
Alterar métodos de classes herdadas
3

O que é um objeto em POO?

Um módulo externo importado
Uma função encapsulada
Um tipo de dado primitivo
Uma instância de uma classe
Uma variável global de um programa
4

Em POO, o que significa encapsulamento?

Armazenar dados em arrays multidimensionais
Permitir herança múltipla
Criar novos métodos dentro de uma classe
Dividir uma classe em partes menores
Restringir o acesso direto aos atributos e métodos
5

O que define polimorfismo em Java?

Capacidade de uma classe derivada sobrescrever métodos da classe base
A utilização de construtores com múltiplos parâmetros
Todos os métodos serem públicos
Atribuir múltiplas classes a um único objeto
Criar objetos de várias classes em um único programa
6

Qual das opções é um exemplo de sobrecarga de métodos?

Criar um método que não retorna valores
Criar um método com o mesmo nome em classes diferentes
Criar dois métodos com o mesmo nome, mas com assinaturas diferentes
Utilizar métodos privados em uma classe
Usar o mesmo método em múltiplas interfaces
7

Para acessar um método estático de uma classe, usamos:

Um construtor vazio
A palavra-chave this
O nome da classe diretamente
A palavra-chave super
Uma instância da classe
8

Qual das opções representa um exemplo de herança em Java?

interface Aluno implements Pessoa
class Pessoa implements Aluno
class Aluno extends Pessoa
abstract Aluno extends Pessoa
class Aluno implements Serializable
9

O modificador protected em Java significa:

O atributo ou método é acessível por classes do mesmo pacote e classes derivadas
O atributo ou método é acessível somente por classes base
O atributo ou método é acessível apenas pela própria classe
O atributo ou método é acessível globalmente
O atributo ou método não pode ser alterado
10

Qual é a palavra-chave usada para herdar uma classe em Java?

parent
base
super
inherits
extends
11

Um método emitirSom() é implementado em uma classe Animal e redefinido em Cachorro. O que isso representa?

Polimorfismo
Modularidade
Herança múltipla
Encapsulamento
Sobrecarga de métodos
12

Considere a classe Pessoa em Java. Qual declaração representa um construtor válido?

public static Pessoa() {}
private void Pessoa() {}
public Pessoa(String nome) {}
Pessoa() : nome("") {}
static Pessoa() {}
13

Uma classe Funcionario tem o método calcularSalario(). Uma classe Gerente herda Funcionario e adiciona um método bonificar(). Qual é a relação entre Funcionario e Gerente?

Polimorfismo
Herança
Associação
Encapsulamento
Composição
14

Uma classe abstrata FormaGeometrica tem um método abstrato calcularArea(). Qual das opções é verdadeira?

Apenas métodos estáticos podem ser definidos na classe
A classe não pode conter atributos
A classe não pode conter métodos concretos
A classe pode ser instanciada diretamente
Classes filhas devem implementar calcularArea()
15

Uma classe PagamentoOnline implementa a interface Pagavel, que tem o método processarPagamento(). Qual declaração é verdadeira?

PagamentoOnline herda diretamente de Pagavel
Interfaces não são permitidas em POO
A interface Pagavel não pode conter métodos abstratos
PagamentoOnline pode omitir a implementação de processarPagamento()
PagamentoOnline deve implementar o método processarPagamento()
16

Em Java, o método toString() é usado para:

Comparar dois objetos
Calcular o tamanho de uma string
Inicializar atributos de uma classe
Alterar a estrutura de classes herdadas
Converter um objeto em uma string
17

Por que utilizamos métodos getters e setters em vez de acessar diretamente os atributos de uma classe?

Para facilitar o uso de atributos estáticos na classe
Para evitar a necessidade de construtores na classe
Para reduzir a complexidade do código da classe
Para aumentar a performance do código ao acessar atributos
Para permitir controle sobre como os atributos são acessados e modificados
18

No sistema, você implementou uma classe base Produto e as subclasses Livro e Eletrônico. Qual vantagem o polimorfismo oferece nesse contexto?

Reduzir o uso de memória em programas orientados a objetos
Tornar os atributos das subclasses acessíveis diretamente na classe base
Aumentar a performance do código em tempo de execução
Evitar a necessidade de construtores em subclasses
Permitir tratar objetos de subclasses como objetos da classe base, simplificando o código
19

No Reino das Bibliotecas Encantadas, você é um programador responsável por criar um sistema mágico que exibe informações sobre os livros registrados na classe Livro. Para isso, você precisa sobrescrever o método toString() na classe para exibir o nome do livro e o preço. Qual das opções abaixo implementa corretamente a magia do método toString() na classe Livro?

@Override public void toString() { return "Livro: " + getNome() + " - R$" + getPreco(); }
public void toString() { return "Livro: " + getNome() + " - R$" + getPreco(); }
public String toString() { return "Livro: " + this.nome + " - R$" + this.preco; }
@Override public String toString() { return "Livro: " + this.getNome() + " - R$" + this.getPreco(); }
@Override public String toString() { "Livro: " + getNome() + " - R$" + getPreco(); }
20

Você foi contratado para criar um sistema que registra os monstros de um jogo. Cada monstro tem um nome, força e vida. O sistema deve proteger esses atributos para que só possam ser acessados e alterados através de métodos. Qual das alternativas define corretamente a classe Monstro com os métodos get e set para encapsular os atributos?

public class Monstro { private String nome; private int forca; private double vida; public void setNome(String nome) { this.nome = nome; } public String getNome() { return nome; } public void setForca(int forca) { this.forca = forca; } public int getForca() { return forca; } public void setVida(double vida) { this.vida = vida; } public double getVida() { return vida; } }
public class Monstro { private String nome; private int forca; private double vida; public void setNome(String n) { nome = n; } public String getNome() { return nome; } public void setForca(int f) { forca = f; } public double getForca() { return forca; } }
public class Monstro { public String nome; public int forca; public double vida; public void setNome(String nome) { this.nome = nome; } }
public class Monstro { private String nome; private int forca; private double vida; public void setNome() { this.nome = "Monstro"; } public int getForca() { return forca; } }
public class Monstro { private String nome; private int forca; private double vida; public void setAtributos(String n, int f, double v) { this.nome = n; this.forca = f; this.vida = v; } public String getAtributos() { return "Nome: " + nome + ", Força: " + forca + ", Vida: " + vida; } }
21

Você precisa criar uma classe Personagem para um jogo. A classe deve ter um construtor que inicialize os atributos nome e energia. Qual das alternativas implementa corretamente o construtor da classe?

public class Personagem { String nome; int energia; public Personagem() { nome = "Sem Nome"; energia = 100; } }
public class Personagem { String nome; int energia; public void inicializar(String nome, int energia) { this.nome = nome; this.energia = energia; } }
public class Personagem { String nome; int energia; public Personagem(String nome, int energia) { this.nome = nome; this.energia = energia; } }
public class Personagem { String nome; int energia; public void Personagem(String nome, int energia) { this.nome = nome; this.energia = energia; } }
public class Personagem { String nome; int energia; public void Personagem() { this.nome = "Sem Nome"; this.energia = 100; } }
22

Você é o programador-chefe do sistema que controla o Castelo dos Dragões. Para gerenciar os dragões cadastrados, você precisa conectar o sistema ao banco de dados dragao_db. O servidor do castelo está no endereço localhost, na porta 3306, e o usuário do banco é heroi com a senha espada123. Qual das opções conecta corretamente o sistema ao banco de dados para gerenciar os dragões?

public class ConexaoDragao { public static Connection conectar() throws SQLException { Connection conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/dragao_db", "heroi", "espada123"); return conn; } }
public class ConexaoDragao { public static Connection conectar() throws SQLException { Connection conn = DriverManager.getConnection ("jdbc:mysql://localhost/dragao_db", "heroi", "espada123"); return conn; } }
public class ConexaoDragao { public static Connection conectar() throws SQLException { Connection conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/dragao_db", "heroi", "espada"); return conn; } }
public class ConexaoDragao { public static Connection conectar() throws SQLException { Connection conn = DriverManager.getConnection ("jdbc:mysql//localhost/dragao_db", "heroi", "espada123"); return conn; } }
public class ConexaoDragao { public static Connection conectar() { Connection conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/dragao_db", "heroi", "espada123"); return conn; } }
23

No Reino dos Programadores, para que seu Eclipse IDE funcione corretamente com o Java Development Kit (JDK), você precisa configurar a variável de ambiente JAVA_HOME no sistema. Essa configuração é essencial para que o Eclipse saiba onde encontrar o JDK. Qual das opções a seguir configura corretamente a variável JAVA_HOME no sistema operacional?

No Prompt de Comando, digite o comando: set JAVA_HOME=C:\Arquivos de Programas\Eclipse\jdk set PATH=%JAVA_HOME%\bin;%PATH%
Acesse o "Painel de Controle", procure "Configurações Avançadas do Sistema", clique em "Variáveis de Ambiente" e crie a variável JAVA_HOME apontando para: C:\Program Files\Java\jdk-XX Depois, adicione ao Path a seguinte entrada: %JAVA_HOME%\bin
Acesse o "Painel de Controle", procure "Configurações Avançadas do Sistema", clique em "Variáveis de Ambiente" e crie a variável JAVA_HOME apontando para: C:\Arquivos de Programas\Eclipse\jdk
Basta instalar o Eclipse na mesma pasta do JDK, e o Eclipse detectará automaticamente o JDK
No Prompt de Comando, digite o comando: set JAVA_HOME=C:\Program Files\Java\jdk-XX set PATH=%JAVA_HOME%\bin;%PATH%
24

No Reino da Programação, o Guardião das Classes precisa de sua ajuda para criar um sistema que organize e exiba os atributos de uma classe chamada Tesouro. Cada tesouro possui os seguintes atributos: nome, tipo e valor. A missão é implementar corretamente o método toString() para listar as informações do tesouro de forma organizada. Qual das opções abaixo implementa corretamente o método toString() na classe Tesouro?

@Override public String toString() { return "Tesouro -> Nome: " + nome + "; Tipo: " + tipo + "; Valor: " + valor + " moedas de ouro."; }
public void toString() { return "Tesouro: " + this.nome + ", Tipo: " + this.tipo + ", Valor: R$" + this.valor; }
@Override public String toString() { return "Tesouro:\n" + "Nome: " + this.nome + "\n" + "Tipo: " + this.tipo + "\n" + "Valor: R$" + this.valor; }
@Override public String toString() { return "Tesouro: " + nome + ", Tipo: " + tipo + ", Valor: R$" + valor; }
@Override public String toString() { return "Tesouro encontrado: " + this.getNome() + " (" + this.getTipo() + ") - R$" + this.getValor(); }
25

Você foi contratado pelo Reino dos Magos do Código para criar uma classe chamada Feitico, que deve ter um método chamado executarFeitico(). Esse método retornará uma mensagem com o nome do feitiço e a quantidade de mana necessária para lançá-lo. Qual das opções abaixo implementa corretamente o método executarFeitico()?

public class Feitico { private String nome; private int mana; public String executarFeitico() { System.out.println("Feitiço: " + nome + ", Mana necessária: " + mana + " pontos"); } }
public class Feitico { private String nome; private int mana; public void executarFeitico() { return "Feitiço: " + nome + ", Mana: " + mana; }
public class Feitico { private String nome; private int mana; public void executarFeitico(String nome, int mana) { System.out.println("Feitiço: " + nome + ", Mana necessária: " + mana + " pontos"); } }
public class Feitico { private String nome; private int mana; public void executarFeitico() { System.out.println("Feitiço lançado!"); } }
public class Feitico { private String nome; private int mana; public String executarFeitico() { return "Feitiço: " + nome + ", Mana necessária: " + mana + " pontos"; } }
26

class Calculadora { public int somar(int a, int b) { return a + b; } public double somar(double a, double b) { return a + b; } } O que será impresso pelo seguinte trecho de código? Calculadora calc = new Calculadora(); System.out.println(calc.somar(5, 7)); System.out.println(calc.somar(5.0, 7.0));

Nenhuma saída
12 e 12.0
12.0 e 12.0
Erro de compilação em ambos os casos
12 e erro de compilação
27

Considere as classes e métodos abaixo: class Animal { public void fazerSom() { System.out.println("Som genérico de animal"); } } class Cachorro extends Animal { @Override public void fazerSom() { System.out.println("Latido"); } } Qual será a saída do seguinte código? Animal a = new Cachorro(); a.fazerSom();

Erro em tempo de execução
"Latido"
Nenhuma saída
"Som genérico de animal"
Erro de compilação
28

class Calculadora { public int somar(int a, int b) { return a + b; } public void somar(int a, int b) { System.out.println(a + b); } } Qual erro ocorrerá neste código?

Funciona corretamente.
Erro de compilação por retorno incompatível.
Exibe os resultados normalmente.
Erro em tempo de execução devido a conflitos.
Erro de compilação por ambiguidade nos métodos.
29

Qual das opções abaixo lista corretamente as vantagens de usar Java?

1. É uma linguagem compilada apenas para Windows. 2. Oferece suporte limitado à Orientação a Objetos. 3. Depende de um ambiente gráfico específico.
1. É uma linguagem interpretada, o que a torna mais lenta. 2. Não possui suporte à Orientação a Objetos. 3. Não é multiplataforma.
1. É uma linguagem de baixo nível focada apenas em hardware. 2. Requer acesso direto à memória. 3. Não possui bibliotecas padrão para aplicações modernas.
1. É uma linguagem multiplataforma graças à JVM (Java Virtual Machine). 2. Possui suporte completo à Orientação a Objetos. 3. É robusta, com gerenciamento automático de memória (Garbage Collection).
1. Só pode ser usada para desenvolvimento web. 2. Não é segura para aplicações críticas. 3. É de código fechado.
30

Qual o modificador de acesso padrão em Java, caso nenhum seja especificado?

package-private
protected
static
private
public
31

O que significa a palavra-chave final aplicada a uma classe?

A classe não pode ser herdada
A classe não pode ser instanciada
Os atributos da classe não podem ser alterados
A classe não pode ter métodos sobrecarregados
A classe não pode conter métodos abstratos
32

Qual é a principal diferença entre uma interface e uma classe abstrata em Java?

Classes abstratas podem ser instanciadas, enquanto interfaces não podem
Interfaces permitem múltipla herança, enquanto classes abstratas não
Interfaces não podem conter atributos, enquanto classes abstratas podem
Classes abstratas não permitem métodos concretos, enquanto interfaces permitem
Interfaces possuem construtores, enquanto classes abstratas não possuem
33

Qual o papel do método main em um programa Java?

Servir como ponto de entrada para a execução do programa
Inicializar os atributos da classe
Garantir que os métodos sejam chamados corretamente
Controlar o fluxo de execução de métodos
Gerenciar a memória alocada para os objetos
34

Qual das opções é verdadeira sobre o gerenciamento de memória em Java?

O Garbage Collector é desativado por padrão
O Garbage Collector é responsável por liberar memória automaticamente
Java utiliza alocação manual de memória
Java não possui gerenciamento automático de memória
O programador deve liberar memória utilizando o comando free
35

O que acontece se nenhum construtor for definido em uma classe Java?

Um construtor padrão vazio será automaticamente fornecido pelo compilador
A classe não pode ser instanciada
A classe herda o construtor de sua classe base
A classe só poderá ser instanciada por classes derivadas
Um erro de compilação será gerado
36

Qual palavra-chave é usada para chamar o construtor da classe base em Java?

extends
super
base
this
parent
37

class Produto { private String nome; public Produto criarProduto(String nome) { this.nome = nome; return this; } } Qual o erro no código acima?

Nenhum erro; o código compila e executa.
Não é possível usar this em métodos não estáticos.
O método criarProduto deveria ser estático.
O atributo nome precisa ser inicializado diretamente no construtor.
Um construtor não pode retornar um valor.
Quizur Logo

Siga nossas redes sociais:

Incorporar

Para incorporar este quiz ao seu site copie e cole o código abaixo.