Buscar

quiz POO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

 Pergunta 1 
1 em 1 pontos 
 
Uma interface, no contexto de desenvolvimento de sistemas orientados a objetos, pode ser 
interpretada como um dispositivo de fronteira, pois define a maneira de comunicação entre duas 
entidades e a abstração de fronteira pode ser entendida como uma forma de interação da 
entidade com o mundo exterior. De acordo com a linguagem Java, analise as afirmativas a 
respeito de interfaces. 
I. As interfaces são classes abstratas, completamente não implementadas. 
II. A classe que implementa uma interface precisa fornecer uma implementação para todos os 
métodos na interface. 
III. Para que uma determinada classe seja vista como uma implementação de uma interface na 
linguagem Java, faz-se necessário indicar na declaração da classe a palavra reservada Extends. 
IV. Uma classe pode implementar apenas uma interface para evitar a herança múltipla, pois é 
de difícil implementação na linguagem Java. 
 
Resposta Selecionada: c. 
I e II. 
Respostas: a. 
I e IV. 
 
b. 
II e III 
 
c. 
I e II. 
 
d. 
II e IV. 
 
e. 
I e III. 
Comentário da 
resposta: 
Toda vez que uma classe implementa uma interface, é necessário preencher 
as informações lógicas dos métodos, sendo assim todos os métodos de uma 
interface devem ser implementados. 
 
 
 Pergunta 2 
1 em 1 pontos 
 
Considere a declaração das interfaces abaixo escritas em Java: 
 
interface Autenticacao { 
 boolean valida(String valor); 
} 
 
interface DataValida { 
 String valida(LocalDate valor); 
} 
 
 
Em um determinado momento do programa foi criado um formulário que precisa estar 
autenticado para cadastrar datas de entrega no sistema. A implementação da classe Formulario 
fica: 
 
class Formulario implements Autenticacao, DataValida { 
 // Código da classe 
} 
 
Observando o cenário descrito podemos afirmar que: 
Resposta 
Selecionada: 
a. 
no corpo da classe Formulario, o método valida deverá ser definido pelo menos 
duas vezes, sendo que uma definição corresponderá à assinatura prevista na 
declaração da interface Autenticacao e a outra definição corresponderá à 
assinatura prevista na declaração da interface DataValida; 
Respostas: a. 
no corpo da classe Formulario, o método valida deverá ser definido pelo menos 
duas vezes, sendo que uma definição corresponderá à assinatura prevista na 
declaração da interface Autenticacao e a outra definição corresponderá à 
assinatura prevista na declaração da interface DataValida; 
 
b. 
no corpo da classe Formulario, o método valida deverá ser definido apenas uma 
vez e a assinatura será uma escolha do programador, podendo ser a prevista 
na declaração da interface Autenticacao ou a prevista na declaração da 
interface DataValida; 
 
c. 
no corpo da classe Formulario, o método valida deverá ser definido apenas uma 
vez, com a assinatura prevista na declaração da interface Autenticacao, 
mencionada em primeiro lugar na cláusula implements da declaração da classe 
Formulario; 
 
d. 
no corpo da classe Formulario, o método valida deverá ser definido apenas uma 
vez, com a assinatura prevista na declaração da interface DataValida, 
mencionada em último lugar na cláusula implements da declaração da classe 
Formulario; 
 
e. 
haverá um erro em tempo de compilação, assinalando ao programador a 
impossibilidade de a classe Formulario implementar simultaneamente as duas 
interfaces. 
Comentário da 
resposta: 
Uma classe que implementa uma interface precisa implementar todos os 
métodos. Sendo assim é possível implementar métodos com o mesmo nome, 
mas diferente da assinatura, isso chama-se sobrecarga de método. 
 
 
 Pergunta 3 
1 em 1 pontos 
 
Os métodos construtores são chamados no momento da inicialização de um objeto e possuem 
algumas características. 
Indique a alternativa correta sobre as características de um método construtor. 
 
Resposta 
Selecionada: 
c. 
Possuem o mesmo nome de sua classe e podem ter parâmetros. 
Respostas: a. 
Devem ter o mesmo nome da sua classe, porém não possuem parâmetros. 
 
b. 
O nome pode ser qualquer um, mas devem ser chamados com o 
comando new. 
 
c. 
Possuem o mesmo nome de sua classe e podem ter parâmetros. 
 
d. 
São chamados pela instrução new, mas devem ser encapsulados com o 
modificador de acesso private. 
 
e. 
O método construtor não é obrigatório na instância e inicialização de um 
objeto. 
Comentário da 
resposta: 
O método construtor tem como principal característica possuir o mesmo 
nome de sua classe. Podem ter parâmetros como qualquer método. 
 
 
 Pergunta 4 
1 em 1 pontos 
 
Analise a sobrecarga dos métodos abaixo: 
 
public void A (float a, int b){} 
public void A (String a, int b){} 
public void A (float a, String b){} 
 
Escolha a opção correta se precisarmos chamar o método A e passar o nome de um aluno e sua 
média (considere o nome do objeto Aluno). 
 
Resposta Selecionada: b. 
Aluno.A(7.3, “João”); 
Respostas: a. 
Aluno.A(“João”, 7.3); 
 
b. 
Aluno.A(7.3, “João”); 
 
c. 
Aluno(7.3, “João”); 
 
 
d. 
Aluno.A(João, 7); 
 
e. 
Aluno(“João”, 7); 
Comentário da 
resposta: 
A chamada ao método está correta e a passagem de parâmetros está na 
ordem certa, além de obedecer às regras corretamente, como passar um nome 
entre aspas e um número decimal com ponto (.) 
 
 Pergunta 5 
1 em 1 pontos 
 
Na classe Boletim, um professor pode tanto inserir uma nota ao aluno, quanto consultar sua nota. 
Mas o aluno pode, apenas, consultar sua nota. 
Escolha a opção que representa a situação acima, levando em consideração o conceito de 
encapsulamento: 
 
Resposta Selecionada: c. 
public class Boletim { 
private float nota; 
 
public void setNota (float nota) { 
this.nota = nota; 
} 
 
public float getNota () { 
return this.nota; 
} 
 
} 
Respostas: a. 
public class Boletim { 
float nota; 
 
public void setNota (float nota) { 
this.nota = nota; 
} 
 
public float getNota () { 
return nota; 
} 
 
} 
 
b. 
public class Boletim { 
 
private float nota; 
 
public void setNota (float nota) { 
nota = nota; 
} 
 
public double getNota () { 
return nota; 
} 
 
} 
 
c. 
public class Boletim { 
private float nota; 
 
public void setNota (float nota) { 
this.nota = nota; 
} 
 
public float getNota () { 
return this.nota; 
} 
 
} 
 
d. 
public class Boletim { 
private float nota; 
 
public void getNota (float nota) { 
this.nota = nota; 
} 
 
public float setNota () { 
return nota; 
} 
 
} 
 
e. 
public class Boletim { 
public float nota; 
 
public void setNota (float nota) { 
this.nota = nota; 
} 
 
public float getNota () { 
return this.nota; 
} 
 
} 
Comentário da 
resposta: 
O trecho de código está de acordo com os conceitos de encapsulamento e 
manipulação de dados por meio dos métodos get e set. 
 
 Pergunta 6 
1 em 1 pontos 
 
Analise o código da classe abaixo: 
 
public class A{ 
private int a; 
private String b; 
private boolean c; 
 
public void setB(String b){ 
this.b = b; 
} 
 
public void setC(boolean c){ 
this.c = c; 
} 
 
public void setA(int a){ 
this.a = a; 
} 
 
public int getA(){ 
return this.a; 
} 
 
public String getB(){ 
return this.b; 
} 
 
public boolean getC(){ 
return this.c; 
} 
 
 
} 
 
O que será impresso na tela, depois de rodarmos o seguinte código do método main? 
 
A a = new A(); 
a.setA(1); 
system.out.println(a.getA() + “\n” + a.getB() + “\n” + a.getC()); 
Resposta Selecionada: d. 
1 
Null 
false 
Respostas: a. 
0 
0 
0 
 
b. 
1 
0 
0 
 
c. 
1 
Null 
true 
 
d. 
1 
Null 
false 
 
e. 
0 
Null 
false 
Comentário da 
resposta: 
O construtor inicializou as variáveis de instância do objeto a com os valores 
zero para a, null para b e false para c. Em seguida inserimos o valor 1 em a e 
imprimimos os valores das variáveisa, b e c na ordem (pulando uma linha). 
 
 
 Pergunta 7 
1 em 1 pontos 
 
Verifique os métodos construtores abaixo: 
 
A. public Boletim(){ 
} 
 
 
B. public Boletim(int a, float b){ 
Nota = b; 
Frequencia = a; 
} 
 
Se quisermos inicializar as variáveis de instância do objeto B (do tipo Boletim) com os valores 
zero para nota e zero para frequência, devemos utilizar a instrução: 
 
I. Boletim B = new Boletim(); 
II. Boletim B = new Boletim(0,0); 
III. Boletim B = new Boletim(“zero”,”zero”); 
 
Escolha a alternativa correta que resolve o problema apresentado: 
Resposta Selecionada: e. 
I e II estão corretas. 
Respostas: a. 
Somente I está correto. 
 
b. 
Somente II está correto. 
 
c. 
I e III estão corretas. 
 
d. 
II e III estão corretas. 
 
e. 
I e II estão corretas. 
Comentário da 
resposta: 
Ambas as formas de zerar as variáveis de instância do objeto B estão 
corretas. O construtor padrão (vazio e sem parâmetro) faz exatamente isso. 
 
 
 Pergunta 8 
1 em 1 pontos 
 
Com o intuito de agilizar o desenvolvimento de um sistema, temos várias técnicas de 
relacionamentos dentre elas a herança. Com um relacionamento de herança é possível declarar 
um objeto do tipo da superclasse e instanciar com objetos das subclasses. Essa técnica é 
conhecida como polimorfismo. O que permite o desenvolvimento de uma forma mais geral. A 
partir disso, podemos afirmar que a ideia por trás do polimorfismo é: 
 
Resposta Selecionada: d. 
Minimizar a manutenção do sistema trabalhando com a superclasse; 
Respostas: a. 
Expandir o sistema com mais funcionalidades; 
 
b. 
Acessar um banco de dados; 
 
 
c. 
Trocar informação; 
 
d. 
Minimizar a manutenção do sistema trabalhando com a superclasse; 
 
e. 
Ter mais código de validação. 
Comentário da 
resposta: 
A ideia por trás do polimorfismo é que você possa programar o sistema com 
objetos que compartilham a mesma superclasse, como se eles fossem o 
mesmo tipo de objeto. 
 
 Pergunta 9 
1 em 1 pontos 
 
Quanto ao uso de Generics na linguagem de programação Java 1.5 ou superiores, é correto 
afirmar que: 
Resposta 
Selecionada: 
a. 
os métodos genéricos permitem que programadores especifiquem, com várias 
declarações semelhantes de métodos, um conjunto de métodos polimórficos 
relacionados, onde são diferentes os parâmetros esperados por cada 
implementação de métodos dentro da mesma classe. 
Respostas: a. 
os métodos genéricos permitem que programadores especifiquem, com várias 
declarações semelhantes de métodos, um conjunto de métodos polimórficos 
relacionados, onde são diferentes os parâmetros esperados por cada 
implementação de métodos dentro da mesma classe. 
 
b. 
todas as declarações de métodos genéricos têm uma seção de parâmetro de 
tipo delimitado por colchetes angulares ( < e > ) que precede o tipo de retorno 
do método. Além disso, os nomes de parâmetros de tipo precisam ser únicos 
entre os diferentes métodos genéricos da mesma classe. 
 
c. 
quando o compilador traduz um método genérico em bytecode Java, ele remove 
a seção de parâmetro de tipo e substitui por tipos reais. Esse processo é 
conhecido como Erasure. 
 
d. 
a tecnologia de Generics permite escrever classes genéricas, onde todos os 
métodos contidos nesta classe são genéricos, exigência esta que é avaliada em 
tempo de execução para bytecode Java. 
 
e. 
uma classe não genérica pode ser derivada de uma classe genérica. Isto se dá 
devido à especificação de Polimorfismo do modelo Orientado a Objetos. 
 
Comentário da 
resposta: 
Métodos genéricos foram feitos para minimizar a quantidade de 
sobrecarga de métodos. 
 
 Pergunta 10 
1 em 1 pontos 
 
Em uma instância do objeto Aluno precisamos inicializar suas variáveis com os 
valores defaults indicados pelo stakeholder (dono do sistema). 
Qual conceito em Orientação a Objeto nos auxilia com esse procedimento? 
 
Resposta Selecionada: a. 
Método construtor. 
Respostas: a. 
Método construtor. 
 
b. 
Método polimórfico. 
 
c. 
Método get. 
 
d. 
Encapsulamento de método. 
 
e. 
Método set. 
Comentário da 
resposta: 
O construtor inicializa as variáveis de instância de um objeto no momento 
de sua criação.

Outros materiais