Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação On-Line 4 (AOL 4) 1. Pergunta 1 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: A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. Resposta correta 2. Pergunta 2 Leia o trecho a seguir: “Uma exceção é um sinal que indica que algum tipo de condição excepcional ocorreu durante a execução do programa. Assim, exceções estão associadas a condições de erro que não tinham como ser verificadas durante a compilação do programa.”Fonte: RICARTE, I. L. M. Programação orientada a objetos: uma abordagem com Java. Campinas: Unicamp, 2001. p. 29. Disponível em: https://bit.ly/2NnCqML. Acesso em: 10 jun. 2020. Considerando estas informações e o conteúdo estudado sobre tratamento de exceções, analise as afirmativas a seguir: I. Uma exceção pode ser evitada fazendo uso de operador ternário. II. Uma exceção pode ser evitada fazendo uso do if-else. III. Uma exceção pode ser evitada fazendo uso do try-catch. IV. Quando uma referência está nula é gerado a exceção NullPointerException. Está correto apenas o que se afirma em: I e II. Resposta correta 3. Pergunta 3 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. imagem 6.PNG 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). 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. 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. Agora, assinale a alternativa que apresenta a sequência correta: V, F, V, F. Resposta correta 4. Pergunta 4 Em determinado trecho de código, o sistema realiza a consulta de um dado no banco de dados por meio de alguma propriedade, que possivelmente pode ser um ID desse objeto. Quando o objeto é encontrado, suas informações são recuperadas e o objeto é criado através dessas propriedades. Considerando essas informações e o conteúdo estudado sobre tratamento de exceções, pode-se afirmar que: a consulta poderá não retornar nenhuma informação, o que resultaria em uma referência nula, e ao tentar acessar esta referência, implicaria na exceção NullPointerException caso o sistema tente acessá-la. Resposta correta 5. Pergunta 5 Exceções são casos excepcionais que podem acontecer de forma inesperada em algum momento durante alguma execução, porém, em alguns trechos, estes tipos de exceções podem ser previstos, e o programador cria uma estrutura de código com fluxos alternativos. Considerando essas 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. Uma exceção é capturada pelo bloco try-catch, onde no bloco try deverá conter trechos do código que possivelmente apresentarão erros enquanto no catch poderá conter trechos de código que executarão uma ação alternativa. Porque: II. O bloco catch captura exceções, possibilitando criar fluxos alternativos através de uma exceção capturada. A seguir, assinale a alternativa correta: As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. Resposta correta 6. Pergunta 6 A imagem a seguir se trata de um trecho de código, no qual há uma classe Pessoa, sendo esta superclasse da subclasse Aluno. O método getNome está declarado na superclasse, enquanto o método getSerie está declarado na subclasse: imagem 1(1).PNG Considerando essas informações e o conteúdo estudado sobre polimorfismo, pode-se afirmar que: a classe IniciarAplicacao não faz uso do polimorfismo em nenhum trecho de código. Resposta correta 7. Pergunta 7 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: As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. Resposta correta 8. Pergunta 8 As capturas de exceções são feitas para que se possa realizar alguma ação diante de um cenário onde há 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 catch. Resposta correta 9. Pergunta 9 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 if-else não pode ser utilizado para capturar exceções. Resposta correta 10. Pergunta 10 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. Resposta correta
Compartilhar