Buscar

PROGRAMAÇAO ORIENTADA OBJ QUIZ 2

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 8 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 8 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

Prévia do material em texto

• Pergunta 1 
1 em 1 pontos 
 
Ao implementar classes genéricas precisamos determinar uma variável que receberá o 
parâmetro de tipo durante a declaração. Essa variável é representada por uma letra 
maiúscula e seguem uma convenção determinada na documentação do Java. Quais as 
letras utilizadas para representar chave e valor em tipos genéricos? 
 
Resposta Selecionada: e. 
K e V. 
Respostas: a. 
C e V. 
 b. 
K e E. 
 c. 
T e E. 
 d. 
K e T. 
 e. 
K e V. 
Comentário 
da resposta: 
Existe uma convenção nas letras que utilizamos para cravar os tipos de 
dados genéricos em Java. A biblioteca Java utiliza a letra E para o tipo 
de elemento em uma coleção, K e V para o conjunto de chave e valor, 
respectivamente. As letras T, U e S para quaisquer outros tipos. 
 
 
• Pergunta 2 
0 em 1 pontos 
 
Uma das formas que podemos criar relacionamento entre classes é através da 
herança. Dependendo do processo realizado para construir esse relacionamento de 
classes dizemos que é uma generalização ou uma especialização dessas classes. Isso 
auxilia no reaproveitamento de código de uma superclasse para uma subclasse. Tendo 
isso em mente, como podem ser definidas as superclasses e as subclasses, 
respectivamente? 
 
Resposta 
Selecionada: 
d. 
Superclasses são menos genéricas e as subclasses mais 
especializadas. 
Respostas: a. 
Superclasses são abstratas e as subclasses são concretas. 
 b. 
Superclasses são comuns e as subclasses são raras. 
 c. 
 
Superclasses são mais utilizadas e as subclasses menos 
utilizadas. 
 
d. 
Superclasses são menos genéricas e as subclasses mais 
especializadas. 
 e. 
Superclasses são genéricas e as subclasses são especializadas. 
Comentário 
da resposta: 
Como existe a hierarquia na estrutura de herança, as superclasses 
contêm as informações mais comuns, portanto é uma classe mais 
genérica. Com as informações específicas, as subclasses são 
chamadas de classes especializadas por se tratar de uma aplicação 
mais direcionada do objeto. 
 
• Pergunta 3 
1 em 1 pontos 
 
Qual o trecho de código que utiliza o recurso chamado generics da forma correta, ao 
criar uma lista de objetos da classe Discente? 
 
Resposta Selecionada: c. 
List<Discente>lstDiscente = new ArrayList<>(). 
Respostas: a. 
List<Discente>IstDiscente = new ArrayList(). 
 b. 
List<> lstDiscente = new ArrayList<>(). 
 c. 
List<Discente>lstDiscente = new ArrayList<>(). 
 d. 
List lstDiscente = new ArrayList<Discente>(). 
Comentário da 
resposta: 
O parâmetro de tipo deve ser informado na declaração da interface 
List e a instância do ArrayList precisa informar que ele é Generics 
também. 
 
 
• Pergunta 4 
1 em 1 pontos 
 
Uma das técnicas utilizadas para deixar a programação mais flexível é o uso de 
Generics, quando falamos na linguagem Java. Sobre o uso dessa técnica podemos 
dizer que: 
I - A abstração sobre tipos é permitida em classes genéricas, por exemplo as coleções. 
II - Métodos que introduzem seus próprios parâmetros de tipos são chamados métodos 
genéricos. Parecido com a declaração de um tipo genérico, porém o escopo é limitado 
apenas ao método. 
 
III - Podem existir métodos genéricos estáticos e construtores de classe genéricos. 
Contudo, métodos genéricos não estáticos são proibidos. 
IV - Algumas das vantagens do uso da programação genérica é a simplicidade e a 
robustez. Dessa forma, não existe a necessidade de casting entre variáveis e o 
compilador inibe a atribuição de tipos incompatíveis. 
V - Os parâmetros de tipo de um tipo genérico podem ser ou não limitados. Para 
restringir esse parâmetro utilizamos do recurso de herança na declaração do parâmetro 
de tipo. 
Estão corretas, apenas: 
Resposta Selecionada: c. 
I, II, IV, V 
Respostas: a. 
I, II, III, IV 
 b. 
I, II, III, V 
 c. 
I, II, IV, V 
 d. 
I, III, IV, V 
 e. 
II, III, IV, V 
Comentário da 
resposta: 
O Java proíbe o uso de construtores genéricos e métodos 
estáticos em classes genéricas. 
 
 
• Pergunta 5 
1 em 1 pontos 
 
A execução do código Java mostrado abaixo produzirá qual resultado? 
public class Questao { 
static int q1; 
int q2; 
static { q1=9 ;} 
{ q2 = 3; } 
 
void troca() 
{ 
q1=q2 ; 
} 
public static void main(String[] args) { 
Questao x=new Questao(); 
Questao y=new Questao(); 
x.q2=5; 
 
x.troca(); 
System.out.print(x.q1+" "+x.q2+" "+y.q1+" "+y.q2); 
} 
} 
Resposta Selecionada: a. 
5 5 5 3. 
Respostas: a. 
5 5 5 3. 
 b. 
9 3 5 3. 
 c. 
5 3 5 3. 
 d. 
3 5 9 3. 
 e. 
5 5 9 3. 
Comentário da 
resposta: 
Como q1 é um atributo estático, ao modificá-lo alteramos o valor 
para todas as instâncias da classe. 
 
 
• Pergunta 6 
1 em 1 pontos 
 
A forma mais segura e adequada de manipular variáveis na programação orientada a 
objetos é utilizando os métodos de acesso e os métodos modificadores. 
Quais comandos demonstram esses métodos, respectivamente? 
 
Resposta Selecionada: a. 
Get e set. 
Respostas: a. 
Get e set. 
 b. 
Construtor e main. 
 c. 
Set e get. 
 d. 
Main e get. 
 e. 
Construtor e set. 
Comentário da 
resposta: 
Os métodos de acesso são também conhecidos como get e os 
métodos modificadores são também conhecidos como set. 
 
 
• Pergunta 7 
1 em 1 pontos 
 
Em relação aos métodos e classes declarados como “final”, é correto afirmar que: 
Resposta 
Selecionada: 
d. 
os métodos declarados private não são implicitamente final; 
Respostas: a. 
um método declarado final em uma superclasse pode ser 
sobrescrito em uma subclasse; 
 b. 
os métodos que são declarados static são implicitamente final; 
 c. 
uma classe que é declarada final pode ser uma superclasse; 
 d. 
os métodos declarados private não são implicitamente final; 
 e. 
nenhum método em uma classe final é implicitamente final. 
Comentário da 
resposta: 
Como o método de privado é acessado apenas pela classe, não é 
permitido nenhuma sobrescrita dele. Portanto, ele é um método final. 
 
 
• Pergunta 8 
1 em 1 pontos 
 
Podemos definir uma hierarquia de classes através do uso de herança. Ela permite que 
uma classe abaixo receba os atributos e métodos da classe diretamente acima dela. 
Esse é um relacionamento que nos permite estender as capacidades de uma classe, 
reaproveitando o código da superclasse. Diferente de um relacionamento do tipo de 
composição. Sendo assim, é correto afirmar que um relacionamento de herança entre 
A (superclasse) e B (subclasse) é descrito da seguinte maneira: 
 
Resposta Selecionada: c. 
B é um objeto de A. 
Respostas: a. 
A é um objeto de B. 
 b. 
A tem um objeto de B. 
 c. 
B é um objeto de A. 
 d. 
B tem um objeto de A. 
 e. 
A e B são independentes. 
 
Comentário da 
resposta: 
Sendo B uma extensão de A, é correto afirmar que o objeto B é 
um objeto de A. 
 
• Pergunta 9 
1 em 1 pontos 
 
Além de relacionamentos com classes através da herança, podemos criar 
relacionamentos com outros tipos de recursos da programação orientada a objetos, 
uma interface. Para vincular esse relacionamento devemos acrescentar a interface 
junto a uma palavra reservada. Qual a palavra reservada utilizada para associar uma 
interface a uma classe? 
 
Resposta Selecionada: e. 
implements. 
Respostas: a. 
extends. 
 b. 
protected. 
 c. 
interface. 
 d. 
final. 
 e. 
implements. 
Comentário da 
resposta: 
Uma interface é implementada por um objeto/classe, portanto 
utiliza-se a palavra reservada implements. 
 
 
• Pergunta 10 
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 daclasse 
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. 
 
 
Quarta-feira, 30 de Março de 2022 19h52min11s BRT

Continue navegando