Prévia do material em texto
Ocultar opções de resposta Pergunta 1 -- /1 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. 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: IMAGEM 8.PNG V, F, V, V. Resposta corretaV, V, F, V. F, F, V, V. F, V, V, V. F, V, F, V. Pergunta 2 -- /1 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. Ocultar opções de resposta Ocultar opções de resposta 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: Resposta corretaI e II. I e III. II e IV. II e III. I e IV. Pergunta 3 -- /1 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: Resposta corretaAs 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. Ocultar opções de resposta As asserções I e II são proposições falsas. As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. Pergunta 4 -- /1 Algumas exceções lançadas no Java, podem ser ocasionadas por esquecimento do programador em inicializar um objeto por exemplo, e que lançará o NullPointerException. Na imagem a seguir, será impresso o resultado do número 1000 dividido pelo valor de i, que vai decrementando, iniciando-se do 10. Considerando estas informações e o conteúdo estudado sobre tratamento de exceções, assinale a afirmativa correta: imagem 7.PNG A exceção lançada será NumberFormatException. Resposta corretaA exceção lançada será ArithmeticException. O código será executado com sucesso. A exceção lançada será NullPointerException. O código deixará de ser compilado. Pergunta 5 -- /1 Leia o trecho a seguir: Ocultar opções de resposta “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: Resposta correta 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. Se o objeto especializado possuir um método que seja inexistente na superclasse, o método pode ser chamado usando polimorfismo. 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 6 -- /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. 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. imagem 4.PNG Ocultar opções de resposta Ocultar opções de resposta 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, e a II é 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, mas a II não é uma justificativa correta da I. Resposta corretaA 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. Pergunta 7 -- /1 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. 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: imagem 6.PNG V, V, F, F. Resposta corretaV, F, V, F. V, F, F, V. Ocultar opções de resposta V, F, F, F. F, V, F, F. Pergunta 8 -- /1 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 algumabiblioteca, 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 else. a funcionalidade deve ser declarada no bloco finally. a funcionalidade deve ser declarada no bloco try. Resposta corretaa funcionalidade deve ser declarada no bloco catch. a funcionalidade deve ser declarada no bloco if. Pergunta 9 -- /1 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. Ocultar opções de resposta Ocultar opções de resposta Considerando essas informações e o conteúdo estudado sobre tratamento de exceções, assinale a alternativa correta: As exceções são capturadas pelo bloco if e tratadas pelo bloco else. O bloco try-catch também pode ser utilizado para evitar exceções. O bloco try-catch é similar a utilização do bloco if-else. O bloco finally do catch também é utilizado para evitar exceções. Resposta corretaO bloco if-else não pode ser utilizado para capturar exceções. Pergunta 10 -- /1 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, e deve ser implementado a estrutura if-else para capturar esta exceção e criar fluxos alternativos. a consulta poderá não retornar nenhuma informação, o que resulta em uma referência nula, e ao tentar acessar esta referência, será instanciado um novo objeto com atributos vazios. a consulta sempre retornará um objeto do banco de dados com as informações existentes recuperadas do banco, e por este motivo haverá sempre uma referência não nula. ao realizar uma consulta no bando de dados, deve-se implementar os blocos try-catch para evitar NullPointerException que poderá ser gerado caso objeto não seja encontrado no banco de dados. 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.