Buscar

Programação Orientada a Objetos - Avaliação II

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 6 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 6 páginas

Prévia do material em texto

Disciplina:
	Programação Orientada a Objetos 
	
	Avaliação:
	Avaliação II - Individual FLEX 
	Nota da Prova:
	10,00
	
	
	
	
	
	
Legenda:  Resposta Certa  
Parte superior do formulário
	1.
	Por intermédio da herança e do encapsulamento, é possível implementarmos o polimorfismo, mecanismo que permite que duas ou mais classes derivadas de uma mesma superclasse possam criar e/ou invocar métodos com a mesma assinatura, mas com comportamentos diferentes. Com relação ao conceito de polimorfismo e sua implementação na linguagem Java, analise as afirmativas a seguir:
I- Polimorfismo de inclusão, polimorfismo paramétrico, sobreposição e sobrecarga são exemplos de tipos de polimorfismo. 
II- O Java não permite a implementação do polimorfismo paramétrico. 
III- A técnica de sobrecarga pode ser utilizada para distinguir, em uma determinada classe, dois métodos com o mesmo nome, o mesmo retorno e o mesmo conjunto de argumentos, mas com uma lógica diferente. 
IV- Na sobrecarga de métodos, é necessário utilizar a anotação @Override. 
Agora, assinale a alternativa CORRETA:
	 a)
	Somente a afirmativa I está correta.
	 b)
	As afirmativas II, III e IV estão corretas.
	 c)
	As afirmativas II e IV estão corretas.
	 d)
	As afirmativas I e IV estão corretas.
	2.
	A coesão é a característica que faz com que uma classe tenha somente uma responsabilidade dentro do sistema, o que faz com que a sua correção, em caso de erros ou a manutenção em caso de evolução, seja simplificada. No que se refere à coesão de uma classe, assinale a alternativa CORRETA:
	 a)
	Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção diminui.
	 b)
	A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe.
	 c)
	Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso private.
	 d)
	Uma classe coesa é, necessariamente, uma classe com alto acoplamento.
	3.
	O encapsulamento é um dos pilares da programação orientada a objetos, e sua utilização de forma correta serve como embasamento para os outros dois pilares: a herança e o polimorfismo. Com relação ao encapsulamento, assinale a alternativa CORRETA:
	 a)
	Através do encapsulamento, podemos proteger os valores internos dos objetos de acessos desnecessários.
	 b)
	O objetivo principal do encapsulamento é obter um alto acoplamento entre as classes.
	 c)
	Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos.
	 d)
	O encapsulamento permite que os objetos se comuniquem através de mais caminhos.
	4.
	Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores. Observe a figura anexa que ilustra uma situação típica em que podemos aplicar o conceito de herança de classes em Java. Considerando os conceitos de programação orientada a objetos, analise as sentenças a seguir:
I- A classe FormaGeometrica, indicada pela letra A, é considerada a subclasse das classes contidas na área indicada pela letra B.
II- Quadrado é uma classe filha da classe FormaGeometrica.
III- A classe Triangulo tem como superclasse a classe FormaGeometrica.  
Agora, assinale a alternativa CORRETA:
	
	 a)
	Somente a sentença I está correta.
	 b)
	As sentenças I e II estão corretas.
	 c)
	As sentenças II e III estão corretas.
	 d)
	As sentenças I e III estão corretas.
	5.
	A linguagem de programação Java implementa o encapsulamento através de modificadores de visibilidade que podem ser colocados na frente de classes, atributos e métodos. Com relação à utilização do encapsulamento na linguagem de programação Java, assinale a alternativa CORRETA:
	 a)
	O modificador private permite o acesso somente dentro do mesmo pacote.
	 b)
	O modificador default permite o acesso padrão a todos dentro da mesma aplicação.
	 c)
	O modificador public não pode ser usado na frente de atributos.
	 d)
	Um método com o modificador public não faz sentido em uma classe com o modificador default.
	6.
	A programação orientada a objetos permite o desenvolvimento de códigos-fonte utilizando o encapsulamento, que evita ou diminui o acoplamento, dependência dos códigos-fonte, e aumenta a coesão, que é o princípio da responsabilidade única de um trecho de código-fonte ou um método, por exemplo. Além disso, o polimorfismo é outra vantagem da programação orientada a objetos, o qual possibilita a manutenção futura sem necessitar de muitas alterações. Com relação ao encapsulamento, assinale a alternativa CORRETA:
	 a)
	O polimorfismo permite que um único nome de classe represente diferentes códigos-fonte.
	 b)
	O polimorfismo apenas ocorre quando o modificador dos métodos da classe forem "protected".
	 c)
	O polimorfismo possui a desvantagem de tornar as classes com maior quantidade de código-fonte.
	 d)
	O principal objetivo do polimorfismo é a capacidade de herdar métodos e classes para uma subclasse.
	7.
	O Polimorfismo de inclusão permite que se defina um novo comportamento para um objeto sem que se faça alterações nos que já estão funcionando, minimizando consideravelmente os custos e reduzindo o tempo para novas implementações. Considerando que a figura a seguir traz duas classes relacionadas a uma interface, classifique V para as sentenças verdadeiras e F para as falsas:
(    ) O método encript() da interface é implicitamente abstrato.
(    ) Na linguagem de programação Java, demonstraríamos que SHA implementa IAlgoritmoCriptografia através da palavra reservada extends.
(    ) Um método existente em outra classe cuja assinatura seja ?public void criptografar(IAlgoritmoCriptografia iac)? pode receber como parâmetro tanto um objeto da classe SHA quanto um objeto da classe DES.
(    ) Podemos dizer que tanto SHA quanto DES implementam IAlgoritmoCriptografia.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
	
	 a)
	F - V - F - V.
	 b)
	V - V - F - V.
	 c)
	V - F - V - V.
	 d)
	V - V - F - F.
	8.
	Uma das principais vantagens em se desenvolver um software utilizando o paradigma da orientação a objetos, é a reutilização de código-fonte, tornando-o mais legível e fácil de realizar manutenção. Neste sentido, podemos exemplificar a facilidade de manutenção com a necessidade de criar uma coluna em uma tabela, gravando um valor fixo. Neste caso, basta alterar o método que realiza a inserção de registro nesta tabela, e o software está alterado, mesmo que o método seja invocado por mais de uma classe. Analise o código-fonte a seguir e classifique V para as sentenças verdadeiras e F para as falsas: 
(    ) Devido à herança, a linha 31 está correta.
(    ) A classe "Carro" herda o método "getNomeModelo()" da classe "Veiculo".
(    ) A classe "Veiculo" herda os métodos com modificador "public" da classe "Carro".
(    ) Ocorre uma relação de herança entre as duas classes, sendo que a classe "Carro" herda atributos e métodos da classe "Veiculo".
Assinale a alternativa que apresenta a sequência CORRETA:
	
	 a)
	V - F - F - V.
	 b)
	F - V - F - F.
	 c)
	V - V - F - V.
	 d)
	V - V - V - F.
	9.
	Através do encapsulamento, é possível deixar o software mais manutenível, através da centralização de responsabilidades, ocultação de implementação e exposição de interfaces. Com relação ao encapsulamento e sua implementação na linguagem de programação Java, analise as sentenças a seguir:
I- Atributos também podem ser ocultados, no sentido de garantir um maior encapsulamento.
II- O modificador default permite o acesso padrão a todos dentro da mesma aplicação.
III- Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente, mais difícil a manutenção do código fonte.
IV- Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso protected.
Agora, assinale a alternativa CORRETA:
	 a)
	As sentenças I e III estão corretas.
	 b)
	Somente a sentença IV está correta.
	 c)As sentenças III e IV estão corretas.
	 d)
	Somente a sentença II está correta.
	10.
	O polimorfismo é implementado de muitas formas dentro da linguagem de programação Java, sendo que uma das mais utilizadas é a criação e a implementação de interfaces. Considerando a criação e a utilização de interfaces dentro da linguagem de programação Java, analise o código fonte da figura a seguir e classifique V para as sentenças verdadeiras e F para as falsas:
(    ) A classe SHA faz a sobrecarga do método encript() nas linhas 8 a 12.
(    ) O método encript() faz parte de uma interface chamada IAlgoritmoCriptografia.
(    ) Se a classe SHA fosse abstrata, ela não poderia fornecer implementação para o método gerarChaveCripto(Date data).
(    ) Um vetor de IAlgoritmoCriptografia não pode conter um objeto do tipo SHA.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
	
	 a)
	F - V - F - F.
	 b)
	V - V - F - V.
	 c)
	V - F - V - V.
	 d)
	V - V - F - F.
Parte inferior do formulário

Continue navegando