Buscar

Quiz - Programação Orientada a Objetos

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 7 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 7 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 
 
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 2 
1 em 1 pontos 
 
Na linguagem Java, toda classe é subclasse de alguma outra. Porém, existe a 
possibilidade de uma classe não possuir filhas. Para tanto, basta que a definição de tal 
classe possua a palavra reservada: 
 
Resposta Selecionada: a. 
final; 
Respostas: a. 
final; 
 b. 
super; 
 c. 
extends; 
 
 d. 
implements; 
 e. 
this. 
Comentário da 
resposta: 
Uma classe final é constante, não pode ser alterada, assim toda 
classe final não pode ser extendida. 
 
• 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 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: 
e. 
Superclasses são genéricas e as subclasses são 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 5 
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 6 
1 em 1 pontos 
 
O paradigma orientado a objetos possui alguns recursos essenciais à sua aplicação. O 
ato de protegermos as variáveis de uma classe de acessos externos para não haver 
manipulação indevida é efetuado por qual recurso? 
 
Resposta Selecionada: e. 
Encapsulamento. 
Respostas: a. 
Polimorfismo. 
 b. 
Método construtor. 
 c. 
Sobrecarga. 
 d. 
Herança. 
 e. 
Encapsulamento. 
Comentário da 
resposta: 
Encapsular é proteger os dados de acessos externos para não 
haver violação indevida. 
 
 
• Pergunta 7 
1 em 1 pontos 
 
A criação de um objeto, em uma linguagem orientada a objetos, chama-se instância. 
Para efetuar a instância devemos declarar nossa variável do tipo do objeto e inicializá-
 
lo com seu construtor. 
Indique a forma correta de instanciarmos o objeto Aluno. 
Resposta Selecionada: b. 
Aluno aluno = new Aluno(); 
Respostas: a. 
Aluno a = Aluno; 
 b. 
Aluno aluno = new Aluno(); 
 c. 
a Aluno(); 
 d. 
Aluno a = new a(); 
 e. 
New Aluno(); 
Comentário da 
resposta: 
Alternativa correta: B 
Existem 3 coisas importantes acontecendo: 
1. Declaração da variável do tipo Aluno; 
2. Criação da instância com new, reservando espaço de memória 
para os atributos dos objetos; 
3. O endereço da instância criada é atribuída para a variável aluno. 
 
 
• Pergunta 8 
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 9 
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 oobjeto B é 
um objeto de A. 
 
• Pergunta 10 
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.

Continue navegando