Prévia do material em texto
Questão 1
Correta
O encapsulamento é um princípio fundamental da programação orientada a objetos que visa
restringir o acesso direto a alguns dos componentes de um objeto. Isso é frequentemente
alcançado através do uso de modificadores de acesso.
Qual dos seguintes modificadores de acesso permite que um atributo seja acessado somente
dentro da própria classe? Assinale a alternativa correta.
Sua resposta
Correta
Private.
Comentário
O modificador de acesso private é essencial para o encapsulamento, pois restringe o acesso a
atributos e métodos apenas à própria classe. Isso protege os dados internos contra acessos
indevidos, promovendo a integridade do objeto e evitando que partes externas do código
interfiram em seu estado.
Questão 2
Correta
No tratamento de exceções em Java, o uso de blocos try-catch-finally é uma prática essencial
para lidar com cenários inesperados durante a execução de programas. Considere as seguintes
afirmativas sobre o funcionamento desses blocos:
1. O bloco try deve obrigatoriamente conter código que pode lançar uma exceção.
2. O bloco catch é opcional e pode ser omitido desde que o bloco finally esteja presente.
3. O bloco finally, se presente, será executado independentemente de uma exceção ter
sido lançada ou não.
Assinale a alternativa correta.
Sua resposta
Correta
Apenas II e III estão corretas.
Comentário
O bloco catch é opcional se o finally for usado, e o finally sempre será executado,
independentemente de uma exceção ter sido lançada ou tratada, garantindo o fechamento ou
liberação de recursos.
Questão 3
Correta
Considere o seguinte código em Java:
try {
int resultado = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("Erro de divisão por zero!");
} finally {
System.out.println("Finalizando o bloco
try-catch.");
}
O que será exibido na saída do programa?
Assinale a alternativa correta.
Sua resposta
Correta
"Erro de divisão por zero!" seguido de "Finalizando o bloco try-catch."
Comentário
O bloco catch trata a exceção gerada pela divisão por zero, exibindo a mensagem
correspondente. Em seguida, o bloco finally é sempre executado, garantindo a saída final
independente de erros.
Questão 4
Correta
Considere o seguinte código em Java que define uma classe:
public class Produto {
private String nome;
private double preco;
public Produto(String nome, double
preco) {
this.nome = nome;
this.preco = preco;
}
public String getNome() {
return nome;
}
public void setPreco(double preco) {
if (preco > 0) {
this.preco = preco;
}
}
}
Com base no código acima, avalie as seguintes afirmativas sobre a classe Produto:
1. O atributo nome é encapsulado e acessível apenas por meio do método público
getNome().
2. O atributo preco está protegido contra valores negativos devido à lógica
implementada no método setPreco(double preco).
3. A classe Produto é uma classe abstrata porque possui um construtor.
Com base no exemplo de codificação, é correto afirmar que:
Sua resposta
Correta
Apenas I e II estão corretas.
Comentário
As afirmativas I e II estão corretas, pois o encapsulamento foi aplicado corretamente e a
lógica no método setPreco impede valores inválidos. A afirmativa III está incorreta, pois a
presença de um construtor não torna a classe abstrata.
Questão 5
Correta
Sobre o uso de classes abstratas analise as seguintes afirmações:
1. Uma classe abstrata pode ter métodos concretos e abstratos.
2. É obrigatório sobrescrever todos os métodos abstratos em uma classe concreta que
herde de uma classe abstrata.
3. Classes abstratas podem conter atributos.
4. Uma classe concreta pode estender apenas uma classe abstrata.
Assinale a alternativa correta.
Sua resposta
Correta
Somente 1, 3 e 4 estão corretas.
Comentário
Métodos abstratos precisam ser implementados por classes concretas (afirmativa 2), mas a
classe concreta pode não sobrescrevê-los diretamente se ela for abstrata. Afirmativas 1, 3 e 4
descrevem características reais de classes abstratas.