Buscar

QUIZ PROGAMAÇÃO ORIENTADA A OBJETOS (POO) SENAC

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
	
	
	
	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 2
1 em 1 pontos
	
	
	
	O paradigma orientado a objetos possui inúmeros conceitos que o caracteriza. Indique a alternativa correta que representa os principais elementos componentes da orientação a objetos:
	
	
	
	
		Resposta Selecionada:
	c. 
Objeto, classe, construtores, encapsulamento e polimorfismo.
	Respostas:
	a. 
Classe, objeto, método, struct e árvore binária.
	
	b. 
Polimorfismo, construtores, atributos, objeto e ponteiro.
	
	c. 
Objeto, classe, construtores, encapsulamento e polimorfismo.
	
	d. 
Modularidade, objeto, classe, métodos e atributos.
	
	e. 
Classe, objeto, sequência, decisão e iteração.
	Comentário da resposta:
	Struct, árvore binária, ponteiro, modularidade, sequência, decisão e iteração não são elementos componentes das principais características da programação orientada a objetos.
	
	
	
· Pergunta 3
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 4
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 5
1 em 1 pontos
	
	
	
	Em muitos casos, uma superclasse é apresentada como uma classe abstrata, forçando a instância de um objeto através de uma subclasse. Nesse processo, existem situações onde a reescrita de alguns métodos é obrigatória. Assim, garantimos que o código estará pronto para uso quando instanciarmos um objeto declarado pela classe abstrata. Pensando nesse cenário, a pergunta que fazemos é por que classes abstratas não podem ser instanciadas?
	
	
	
	
		Resposta Selecionada:
	a. 
São classes incompletas.
	Respostas:
	a. 
São classes incompletas.
	
	b. 
São classes compiladas.
	
	c. 
Não existe.
	
	d. 
Não são usadas.
	
	e. 
Só possuem atributos privados.
	Comentário da resposta:
	Em geral, classes abstratas são utilizadas em conjunto com métodos abstratos que possuem apenas a declaração sem o corpo. Sendo assim, são classes que necessitam de implementações extras ou incompletas.
	
	
	
· Pergunta 6
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 7
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 nadeclaração da interface List e a instância do ArrayList precisa informar que ele é Generics também.
	
	
	
· Pergunta 8
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 9
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 10
1 em 1 pontos
	
	
	
	A programação Orientada a Objetos possui inúmeros recursos muito úteis, como reúso de código, capacidade de manutenibilidade e segurança. Um recurso interessante é a sobrecarga que permite a criação de vários métodos com o mesmo nome para diversos usos diferentes.
Qual o conceito em Orientação a Objetos que diz respeito à definição acima?
	
	
	
	
		Resposta Selecionada:
	a. 
Polimorfismo.
	Respostas:
	a. 
Polimorfismo.
	
	b. 
Método construtor.
	
	c. 
Sobrecarga.
	
	d. 
Herança.
	
	e. 
Encapsulamento.
	Comentário da resposta:
	Polimorfismo, também conhecido como sobrecarga, permite a criação de vários métodos com o mesmo nome.

Outros materiais