Buscar

Avaliação Final (Objetiva) programacao orientada a objestos

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

O	conceito	de	classes	abstrata,	através	de	suas	características	especiais,	fornece	ao	
conceito	de	herança	uma	maior	confiabilidade	uma	vez	que	as	classes	modeladas	
com	herança	precisam	ser	melhor	idealizadas	e	projetadas.	Dessa	forma,	avalie	o	
código-fonte	da	classe	Atleta,	a	seguir,	e	classifique	V	para	as	sentenças	
verdadeiras	e	F	para	as	falsas:	
	
package	fontes;	
	
public	class	Atleta{	
				private	int	pais;	
				private	String	modalidade;	
				private	boolean	medalistaOlimpico;	
	
				public	abstract	void	competir(String	modalidade)	{	
								System.out.println("É	especialista	em	"	+	modalidade);	
				}	
					
				public	void	competirPor(int	pais){	
								System.out.println("O	atleta	compete	por	"	+	pais);									
				}	
					
}	
	
(				)	A	classe	em	questão	apresenta	problemas	de	sintaxe.	
(				)	O	método	competirPor(int	pais)	não	está	gerando	erro	de	sintaxe	e	usa	
corretamente	a	palavra-chave	void.	
(				)	O	método	competirPor(int	pais)	não	possui	um	retorno	de	tipo	definido.	
(				)	O	método	"competir(String	modalidade)"	gera	erro	de	sintaxe,	pois	não	
necessita	da	palavra-chave	abstract.	
	
Assinale	a	alternativa	que	apresenta	a	sequência	CORRETA:	
A	
F	-	F	-	V	-	V.	
B	
V	-	V	-	V	-	V.	
C	
V	-	V	-	F	-	F.	
D	
V	-	F	-	V	-	V.	
2 
A	Classe	é	a	estrutura	fundamental	da	orientação	a	objetos	e	é	composta	de	
Atributos	e	Métodos. 
A	respeito	de	métodos	de	classes,	assinale	a	alternativa	CORRETA:	
A	
Os	métodos	são	as	operações	que	são	definidas	na	classe,	e	quando	ela	é	
instanciada	eles,	definem	o	seu	comportamento.	
B	
Todas	as	opções	anteriores	estão	incorretas.	
C	
Os	métodos	não	fazem	parte	da	classe	e	eles	devem	ser	construídos	em	um	módulo	
separado	do	sistema.	
D	
Os	métodos	representam	as	características	do	objeto	instanciados.	
3Assim	como	arrays,	as	classes	e	as	interfaces	do	Collections	Framework	da	
linguagem	de	programação	Java	possuem	a	vantagem	de	tornar	o	código-fonte	
mais	legível	e	fácil	de	manipular.	Existe	o	tipo	de	coleção	ArrayList	que	pode	
armazenar	uma	lista	de	elementos	de	qualquer	tipo,	podendo	ser	String,	Real,	
Double,	Boolean,	entre	outros,	ou	ainda	objetos	criados	a	partir	de	classes	da	
aplicação,	como	a	lista	de	objetos	do	tipo	Pessoa.	Além	deste,	temos	também	o	tipo	
de	coleção	Hashmap,	que	consome	menos	recursos	quando	se	deseja	pesquisar	
entre	os	elementos	armazenados,	pois	utiliza	um	objeto-chave	e	um	objeto-valor.	
Referente	ao	código-fonte	anexo,	analise	as	afirmativas	a	seguir:	
	
I-	No	final	da	execução	da	classe	"ExemploHashmap",	do	código-fonte	apresentado,	
a	coleção	"mapa"	possui	3	elementos.	
II-	No	final	da	execução	da	classe	"ExemploHashmap",	do	código-fonte	
apresentado,	a	coleção	"mapa"	possui	2	elementos.	
III-	No	final	da	execução	da	classe	"ExemploHashmap",	do	código-fonte	
apresentado,	linha	15,	serão	impressas	3	linhas	com	os	seguintes	valores	
respectivamente:	"1	-	Gol",	"2	-	Palio"	e	"3	-	Celta".	
IV-	No	final	da	execução	da	classe	"ExemploHashmap",	do	código-fonte	
apresentado,	linha	15,	serão	impressas	2	linhas	com	os	seguintes	valores	
respectivamente:	"1	-	Gol"	e	"2	-	Palio".	
	
Assinale	a	alternativa	CORRETA: 	
A	
As	afirmativas	I	e	II	estão	corretas.	
B	
As	afirmativas	I	e	III	estão	corretas.	
C	
Somente	a	afirmativa	IV	está	correta.	
D	
As	afirmativas	II	e	IV	estão	corretas.	
4O	polimorfismo	é	um	mecanismo	poderoso	da	programação	orientada	a	objetos,	
pois	permite	que	se	adicionem	novas	funcionalidades	a	um	software	sem	alterar	
partes	desse	mesmo	software	que	já	estejam	funcionando.	Com	relação	ao	
polimorfismo,	classifique	V	para	as	sentenças	verdadeiras	e	F	para	as	falsas:	
	
(				)	O	polimorfismo	de	sobreposição	consiste	na	colocação	de	novos	parâmetros	
em	outro	método	que	possua	o	mesmo	nome	de	um	método	já	existente.	
(				)	O	polimorfismo	paramétrico	é	altamente	dependente	da	linguagem	de	
programação,	por	este	motivo	nem	todas	as	linguagens	de	programação	orientadas	
a	objetos	o	implementam.	
(				)	A	sobrecarga	permite	redefinir	completamente	um	método,	substituindo-o	nas	
classes	que	fizerem	uso	deste	tipo	de	polimorfismo.	
(				)	As	interfaces	são	uma	maneira	eficiente	de	implementar	o	polimorfismo.	
	
Agora,	assinale	a	alternativa	que	apresenta	a	sequência	CORRETA:	
A	
F	-	V	-	F	-	V.	
B	
V	-	V	-	F	-	V.	
C	
V	-	F	-	F	-	V.	
D	
V	-	V	-	V	-	F.	
5No	desenvolvimento	de	software	orientado	a	objetos,	muitos	padrões	surgiram	
da	solução	para	problemas	que	normalmente	ocorriam,	sendo	um	destes	padrões	
de	desenvolvimento	o	Singleton.	O	padrão	Singleton	caracteriza-se	pela	única	
instância	de	uma	classe	durante	a	execução	de	um	sistema,	pois	em	alguns	casos	
esta	característica	é	necessária	para	resolver	determinados	problemas.	Partindo	
desse	pressuposto,	classifique	V	para	as	sentenças	verdadeiras	e	F	para	falsas:	
	
(				)	Uma	classe	implementada	com	o	padrão	Singleton	não	possui	o	modificador	
estático	(static).	
(				)	Uma	classe	implementada	com	o	padrão	Singleton	sempre	utiliza	o	
modificador	estático	(static).	
(				)	Uma	classe	implementada	com	o	padrão	Singleton	deve	ter	declarado	um	
atributo	private	do	próprio	tipo	da	classe.	
(				)	Uma	classe	implementada	com	o	padrão	Singleton	deve	validar	se	já	está	
instanciada,	e	caso	negativo,	utiliza	o	comando	"new"	para	instanciar	a	classe.	
	
Assinale	a	alternativa	que	apresenta	a	sequência	CORRETA:	
A	
F	-	V	-	V	-	V.	
B	
V	-	V	-	F	-	F.	
C	
V	-	F	-	V	-	F.	
D	
F	-	V	-	V	-	F.	
6A	estrutura	de	uma	classe	na	linguagem	de	programação	Java	comporta	um	
nome,	um	conjunto	de	atributos,	também	conhecidos	como	o	estado	desta	classe	e	
um	conjunto	de	métodos,	também	conhecidos	como	o	comportamento	desta	
classe.	Considerando	a	estrutura	da	Classe	Principal	demonstrada	na	figura	a	
seguir,	classifique	V	para	as	sentenças	verdadeiras	e	F	para	as	falsas:	
	
(				)	Já	que	o	método	"Aluno()"	não	possui	parâmetros	as	linhas	7	a	9	geram	erros	
de	compilação.	
(				)	O	método	chamado	main	é	quem	torna	uma	classe	executável,	sendo	que	a	sua	
existência	em	uma	classe	é	opcional.	
(				)	A	linha	1	define,	através	da	palavra	reservada	"package",	que	a	classe	está	
agrupada,	porém	sem	obedecer	as	suas	responsabilidades	dentro	de	uma	
aplicação.	
(				)	Pode-se	afirmar	que	o	tipo	de	dados	do	atributo	"nome",	existente	na	classe	
aluno	é	do	tipo	caracter.	
	
Assinale	a	alternativa	que	apresenta	a	sequência	CORRETA:
	
A	
V	-	F	-	F	-	V.	
B	
F	-	V	-	F	-	F.	
C	
F	-	V	-	F	-	V.	
D	
V	-	F	-	V	-	F.	
7A	herança	é	um	dos	pilares	da	programação	orientada	a	objetos	e	pode,	quando	
bem	utilizada,	diminuir	o	esforço	na	manutenção	do	código	fonte.	Com	relação	ao	
relacionamento	de	herança	entre	duas	ou	mais	classes,	analise	as	sentenças	a	
seguir:	
	
I-	Através	da	herança,	é	possível	reaproveitar	atributos	já	definidos	em	uma	classe	
mãe.	
II-	Uma	classe	filha	pode	herdar	de	quantas	superclasses	quiser	na	linguagem	de	
programação	Java.	
III-	Não	é	possível	herdar	a	implementação	de	métodos,	visto	que	todos	devem	ser	
reescritos	através	do	polimorfismo.	
IV-	A	palavra	inherits	define	a	herança	na	linguagem	de	programação	Java.	
	
Agora,	assinale	a	alternativa	CORRETA:	
A	
As	sentenças	II	e	III	estão	corretas.	
B	
As	sentenças	I,	II	e	IV	estão	corretas.	
C	
Somente	a	sentença	IV	está	correta.	
D	
Somente	a	sentença	I	está	correta.	
8 
Como	vantagens	da	Programação	Orientada	a	Objetos,	Sintes	(2002)	afirma	que	a	
programação	orientada	a	objetos	define	seis	objetivos	para	o	desenvolvimento	de	
software:	Natural;	confiável;	reutilizável;	manutenível;	Extensível;	Oportuno. 
FONTE:	SINTES,	A.	Aprenda	programação	orientada	a	objetos	em	21	dias.	
Tradução	João	Eduardo	Nóbrega	Tortello.	São	Paulo:	Pearson	Education	do	Brasil,	
2002.	
		
Sobre	a	definição	para	“Reutilizável”,	assinale	a	alternativa	CORRETA:	
A	
Da	mesma	forma	que	construtores	ou	engenheiros	elétricos	reaproveitam	tijolos	e	
circuitos,	a	programação	orientada	a	objetos	incentiva	a	reutilizar	soluções	para	os	
problemas.	É	possível	reutilizar	classes	orientadas	a	objetos	bem	feitas	em	
diversos	programasdiferentes	e	ainda	estender	seu	comportamento	através	do	
que	é	conhecido	como	polimorfismo.	Através	da	programação	orientada	a	objetos,	
você	pode	modelar	ideias	gerais	e	usar	essas	ideias	para	resolver	problemas	
específicos.	Objetos	específicos	são	em	geral	construídos	utilizando	partes	
genéricas	reaproveitadas.	
B	
Software	útil	deve	ser	confiável.	Infelizmente,	existe	uma	cultura	de	tolerância	ao	
erro	na	área	de	desenvolvimento	de	software.	Por	exemplo,	quando	foi	a	última	
vez	que	sua	geladeira	quebrou?	Programas	orientados	a	objetos	bem	projetados	e	
cuidadosamente	escritos	tendem	a	ser	mais	confiáveis.	Sua	natureza	modular	
permite	que	sejam	feitas	manutenções	em	uma	parte	do	software	sem	afetar	
outras.	Os	objetos	isolam	o	conhecimento	e	a	responsabilidade	de	onde	pertencem.	
Além	disso,	a	orientação	a	objetos	intrinsecamente	aprimora	os	testes,	ao	isolar	
conhecimento	e	responsabilidade	em	um	único	local.	Uma	vez	que	você	tenha	
validado	um	componente,	você	pode	reutilizá-lo	com	mais	confiança.	
C	
Quando	você	construir	uma	biblioteca	de	objetos,	também	desejará	estender	a	
funcionalidade	de	seus	próprios	objetos.	A	programação	orientada	a	objetos	
apresenta	ao	programador	diversos	recursos	para	estender	código,	como	herança,	
polimorfismo,	sobreposição,	delegação	e	uma	variedade	de	padrões	de	projeto.	
D	
A	programação	orientada	a	objetos	produz	um	software	mais	inteligível,	pois	
permite	que	você	defina	os	componentes	de	seu	software	com	base	em	objetos	e	
comportamentos	do	mundo	real.	Permite	ainda	que	você	modele	um	problema	em	
nível	funcional	e	não	em	nível	de	implementação,	deixando	tempo	para	se	
concentrar	no	problema	a	ser	resolvido.	
9A	linguagem	de	programação	Java	utiliza	a	Java	Virtual	Machine	(JVM)	para	o	
gerenciamento	do	ciclo	de	vida	dos	objetos	instanciados	pelas	aplicações	e	
localização	destes	na	memória.	Considerando	o	comportamento	da	JVM,	o	código	
fonte	a	seguir	e	a	existência	de	uma	classe	Cachorro,	cujo	construtor	recebe	uma	
String,	assinale	a	alternativa	CORRETA: 	
A	
O	console	imprimirá	diferentes.	
B	
O	console	imprimirá	iguais.	
C	
Ocorre	um	erro	na	execução.	
D	
Ocorre	um	erro	de	compilação.	
10O	padrão	de	projeto	Singleton	aumenta	a	qualidade	e	a	produtividade	do	
desenvolvimento	de	software	orientado	a	objetos,	pois	é	capaz	de	solucionar	
problemas	rotineiros	que	normalmente	ocorrem	durante	as	etapas	do	
desenvolvimento	de	um	software.	Esse	padrão	descreve	uma	implementação	na	
qual	uma	classe	é	instanciada	uma	única	vez	durante	a	execução	de	uma	aplicação.	
Referente	aos	códigos-fonte	que	implementam	um	exemplo	da	aplicação	Singleton	
e	sua	execução	para	a	classe	Memoria,	classifique	V	para	as	sentenças	verdadeiras	
e	F	para	as	falsas:	
	
(1)public	class	Memoria{	
(2)	private	static	Memoria	memoryInstance;	
(3)	private	double	quantidadeMemoria;	
(4)	
(5)	private	Memoria(){}	
(6)	
(7)	
(8)	public	static	Memoria	getInstance()	{	
(9)	if(memoryInstance	==	null)	{	
(10)	memoryInstance	=	new	Memoria();	
(11)	}	
(12)	return	memoryInstance;	
(13)	}	
(14)	
(15)	public	double	getQuantidadeMemoria()	{	
(16)	return	this.quantidadeMemoria;	
(17)	}	
(18)	
(19)	public	void	setQuantidadeMemoria	(float	quantidadeMemoria)	{	
(20)	this.quantidadeMemoria	=	quantidadeMemoria;	
(21)	}	
(22)}	
	
	
(1)				public	static	void	main(String[]	args){	
(2)	
(3)								Memoria	memoria1,	memoria2,	memoria3;	
(4)									
(5)								memoria1	=		Memoria.getInstance();	
(6)								memoria2	=		Memoria.getInstance();	
(7)								memoria3	=		new	Memoria();	
(8)	
(9)									System.out.println(memoria1);	
(10)							System.out.println(memoria2);	
(11)							System.out.println(memoria3);	
(12)				}					
	
(				)	As	linhas	3	a	6,	do	código-fonte	de	execução	da	classe	Memoria,	precisam	estar	
implementados	na	mesma	linha	para	que	o	método	getInstance()	crie,	e	retorne,	o	
objeto	único	da	classe	Memoria.	
(				)	As	linhas	9	e	10,	do	código-fonte	de	execução	da	classe	Memoria,		mostram	o	
mesmo	valor,	enquanto	o	código	da	linha	11	imprime	um	valor	diferente.	
(				)	A	linha	7,	do	código-fonte	de	execução	da	classe	Memoria,	gera	um	erro	uma	
vez	que	o	padrão	Singleton	não	permite	o	acesso	direto	ao	método	construtor	das	
classes	que	o	utilizam.	
(				)	A	linha	9,	do	código-fonte	da	classe	Memoria,	verifica	a	existência	de	um	
objeto	do	mesmo	tipo	da	classe	em	questão,	para	garantir	que	um	único	objeto	
desse	tipo	exista	na	aplicação.	
	
Assinale	a	alternativa	que	apresenta	a	sequência	CORRETA:	
A	
V	-	F	-	F	-	V.	
B	
F	-	V	-	V	-	F.	
C	
F	-	F	-	V	-	V.	
D	
V	-	V	-	F	-	F.

Continue navegando