Buscar

Programação Orientada a Objetos - Avaliação On-Line 4 (AOL 4)

Prévia do material em texto

47930 . 7 - Programação Orientada a Objetos - 20212.A 
Avaliação On-Line 4 (AOL 4) - Questionário 
Conteúdo do teste Detalhes e informações 
Pergunta 1 1 ponto 
Data de entrega da avaliação 
Consultar data no calendário do AVA 
Dado que para haver a ligação dinâmica é necessário que haja o polimorfismo, e que por vez, necessita que haja herança entre a 
subclasse e superclasse, o código a seguir instancia um novo objeto do tipo Produto, que sobrescreve o método toString. 
Tentativas 
1 tentativa restante 
imagem 6.PNG 
Avaliação 
Considerando essas informações e o conteúdo estudado sobre polimorfismo e ligação dinâmica, analise as afirmativas a seguir e 
assinale V para a(s) verdadeira(s) e F para a(s) falsa(s). 
Pontos máximos 10 pontos 
I. ( ) O objeto produto pode ser passado como parâmetro, já que o método aguarda o tipo Object. 
II. ( ) O código apresentado deixará de ser compilado, pois o parâmetro esperado é o Object. 
Descrição III. ( ) Nesse exemplo, no método toStringdeObject está sendo aplicado polimorfismo. 
IV. ( ) No código apresentado, os indícios do uso da ligação dinâmica são inexistentes. Chegamos à última unidade desta disciplina. É hora de 
Agora, assinale a alternativa que apresenta a sequência correta: concluir com muito conhecimento e aprendizado. 
V, F, F, V. 
V, F, F, F. 
V, V, F, F. 
V, F, V, F. 
F, V, F, F. 
Pergunta 2 1 ponto 
O bloco if-else é uma estrutura de condição que avalia se dada condição é verdadeira ou falsa. Esta estrutura pode ser utilizada 
para evitar alguns erros que podem ocorrer durante a execução do código através de determinadas condições. 
Considerando essas informações e o conteúdo estudado sobre tratamento de exceções, assinale a alternativa correta: 
O bloco try-catch é similar a utilização do bloco if-else. 
O bloco try-catch também pode ser utilizado para evitar exceções. 
O bloco if-else não pode ser utilizado para capturar exceções. 
As exceções são capturadas pelo bloco if e tratadas pelo bloco else. 
O bloco finally do catch também é utilizado para evitar exceções. 
Pergunta 3 1 ponto 
O polimorfismo geralmente é implementado pelas linguagens orientadas a objeto quando é utilizada a ligação dinâmica (dynamic 
binding), na qual apenas durante a execução da aplicação é determinado qual o método deverá ser utilizado. 
Considerando estas informações e o conteúdo estudado sobre polimorfismo e ligação dinâmica, analise as asserções a seguir e a 
relação proposta entre elas: 
I. O polimorfismo e a ligação dinâmica estão associados. 
Porque: 
II. A ligação dinâmica é o resultado quando o próprio Java determina qual método deve ser utilizado, diante do cenário onde há o 
polimorfismo aplicado. 
A seguir, assinale a alternativa correta: 
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 
As asserções I e II são proposições falsas. 
As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. 
Pergunta 4 1 ponto 
Leia o trecho a seguir: 
“Para que o polimorfismo possa ser utilizado, é necessário que os métodos que estejam sendo definidos nas classes derivadas 
tenham exatamente a mesma assinatura do método definido na superclasse; neste caso, está sendo utilizado o mecanismo de 
redefinição de métodos (overriding).”Fonte: RICARTE, I. L. M. Programação orientada a objetos: uma abordagem com Java. 
Campinas: Unicamp, 2001. p. 7. Disponível em: https://bit.ly/2NnCqML. Acesso em: 10 jun. 2020. 
Complementando o trecho apresentado, um método que contenha como parâmetro uma classe genérica pode receber objetos 
mais especializados abaixo de sua hierarquia. 
Considerando estas informações e o conteúdo estudado sobre polimorfismo e ligação dinâmica, assinale a afirmativa correta: 
Se o objeto especializado possuir um método que seja inexistente na superclasse, o método pode ser chamado 
usando polimorfismo. 
Considerando o polimorfismo e a ligação dinâmica, cabe ao próprio Java definir em tempo de execução qual método 
será utilizado. 
Considerando o polimorfismo, a classe genérica pode ser passada como parâmetro cujo argumento é de uma classe 
mais especializada. 
Considerando a ligação dinâmica, se não definido pelo programador qual método será executado, quem decidirá é o 
Java em tempo de compilação. 
A ligação dinâmica só estará presente quando o método existente na superclasse é inexistente na subclasse. 
Pergunta 5 1 ponto 
O diagrama a seguir representa uma estrutura de classes, em que a superclasse Conta, é herdada pelas classes ContaCorrente e 
ContaPoupanca. A subclasse contaCorrente tem um objeto do tipo ChequeEspecial, e que através dele é possível obter o limite 
disponível de cheque especial. 
imagem 3.PNG 
Considerando essas informações e o conteúdo estudado sobre polimorfismo e ligação dinâmica, analise as asserções a seguir e a 
relação proposta entre elas: 
I. É possível ter um método que recebe como parâmetro um objeto da classe ContaCorrente, porém, fazendo uso do polimorfismo, 
podemos passar como argumento um objeto da classe ContaPoupanca. 
Porque: 
II. A classe ContaPoupanca é subclasse da superclasse Conta, da mesma forma que a classe ContaCorrente. 
A seguir, assinale a alternativa correta: 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 
As asserções I e II são proposições falsas. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 
As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. 
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. 
Pergunta 6 1 ponto 
Considerando que a classe Bicicleta seja subclasse da superclasse MeioLocomocao. Ambas possuem o método locomover, e a 
subclasse Bicicleta possui o método pedalar. A subclasse sobrescreve o método locomover, e durante a instanciação do objeto da 
subclasse, sua referência está apontada para a superclasse. 
Considerando essas informações e o conteúdo estudado sobre polimorfismo, analise as asserções a seguir e a relação proposta 
entre elas: 
I. O código apresentará erro durante a execução. 
Porque: 
II. Uma referência de subclasse não pode ser referência de instancia de uma superclasse. 
A seguir, assinale a alternativa correta: 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. 
As asserções I e II são proposições falsas. 
Pergunta 7 1 ponto 
Um dos erros mais comuns durante a execução de um programa é o erro NullPointerException, o qual indica que a aplicação 
tentou usar uma referência nula, ou seja, que ainda não possui um objeto definido para aquela referência. A imagem a seguir é 
uma estrutura de código que deverá exibir o detalhe existente no método toString da classe Produto. 
imagem 4.PNG 
Considerando estas informações e o conteúdo estudado sobre tratamento de exceções, analise as asserções a seguir e a relação 
proposta entre elas: 
I. O código apresentará a exceção NullPointerException. 
Porque: 
II. O objeto produtos da classe BancoDeDadosVirtual não foi instanciado. 
A seguir, assinale a alternativa correta: 
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. 
As asserções I e II são proposições falsas. 
As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 
Pergunta 8 1 ponto 
As capturas de exceções são feitas para que se possa realizar alguma ação diante de um cenário ondehá alguma probabilidade de 
haver erros e diante destes erros podem ser criados fluxos alternativos, ou apenas registrar logs sobre os erros. Para o registro de 
logs, geralmente é utilizada alguma biblioteca, como o log4j, por exemplo, mas não necessariamente são utilizados para registrar as 
exceções, pois também servem para registrar informações sobre a execução do sistema, podendo ser declarados em qualquer 
trecho do código. 
Considerando essas informações e o conteúdo estudado sobre tratamento de exceções, para capturar uma exceção e registrar em 
um log, pode-se afirmar que: 
a funcionalidade deve ser declarada no bloco if. 
a funcionalidade deve ser declarada no bloco else. 
a funcionalidade deve ser declarada no bloco finally. 
a funcionalidade deve ser declarada no bloco catch. 
a funcionalidade deve ser declarada no bloco try. 
Pergunta 9 1 ponto 
Uma exceção pode ser evitada fazendo uso de condicionadores como if-else ou operador ternário. Analisando a imagem a seguir, 
vê-se que uma possível correção para o código a fim de evitar a exceção seria utilizar um operador ternário ou um bloco if-else. 
imagem 5.PNG 
De acordo com essas informações e com o conteúdo estudado sobre tratamento de exceção, analise as asserções a seguir e a 
relação proposta entre elas: 
I. O código if(produto != null) poderia ser utilizado acima da linha 6, assim evitaria a exceção NullPointerException. 
Porque: 
II. Com esta condição, teríamos certeza que a referência do objeto não estaria nula antes de tentar acessá-la. 
A seguir, assinale a alternativa correta: 
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 
As asserções I e II são proposições falsas. 
As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. 
Pergunta 10 1 ponto 
Analisando as classes a seguir, vê-se que o método Start possui o operador instanceof declarado na linha 10 da classe, e ele é 
usado para comparar se um objeto é instância de uma classe específica. Basicamente, ele está comparando se o objeto produto é 
um Eletrodomestico. Na linha 11, o objeto produto qual é recebido por parâmetros, é realizado um cast para o tipo 
Eletrodoméstico, ou seja, ele está assumindo sua forma original, caso a verificação acima (linha 10) seja verdadeira. 
IMAGEM 8.PNG 
Considerando essas informações e o conteúdo estudado sobre polimorfismo e ligação dinâmica, quanto à execução do código 
acima, a execução do método consultarPreco, onde x e y são quaisquer valores numéricos, analise as afirmativas a seguir e assinale 
V para a(s) verdadeira(s) e F para a(s) falsa(s): 
I. ( ) Se o produto obtido for um objeto de Eletrodoméstico, ocorrerá o polimorfismo. 
II. ( ) Se o produto obtido for um objeto de Movel, ocorrerá o polimorfismo. 
III. ( ) Se o produto obtido for um objeto de Eletrodomestico, a ligação dinâmica será aplicada. 
IV. ( ) Se o produto obtido for um objeto de Movel, a ligação dinâmica será aplicada. 
Agora, assinale a alternativa que apresenta a sequência correta: 
V, V, F, V. 
F, V, V, V. 
F, V, F, V. 
F, F, V, V. 
V, F, V, V. 
Você tem algum conteúdo adicional? 
Você pode adicionar texto, imagens e arquivos que complementem suas respostas. 
Adicionar conteúdo 
https://sereduc.blackboard.com/ultra/courses/_58750_1/outline/assessment/_3816088_1/overview/attempt/_13656487_1?courseId=_58750_1
https://getfireshot.com

Continue navegando