Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Orientada a Objetos - 2021 Avaliação On-Line 4 (AOL 4) - Questionário 1. Pergunta 1 /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. 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: Ocultar opções de resposta 1. V, V, F, F. 2. V, F, V, F. Resposta correta 3. V, F, F, V. 4. F, V, F, F. 5. V, F, F, F. 2. Pergunta 2 /1 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: Ocultar opções de resposta 1. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. Resposta correta 2. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 3. As asserções I e II são proposições falsas. 4. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. 5. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 3. Pergunta 3 /1 Diante do cenário em que temos a classe Funcionario, Gerente e Programador, as classes Gerente e Programador são subclasses de Funcionario. A classe Funcionario possui métodos genéricos que foram sobrescritos por suas subclasses. 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. Por ser subclasse, a classe Programador pode ser instanciada em uma referência da classe Funcionario. Porque: II. O polimorfismo permite que subclasses sejam instanciadas em referências de suas superclasses. A seguir, assinale a alternativa correta: Ocultar opções de resposta 1. As asserções I e II são proposições falsas. 2. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 3. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 4. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 5. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. Resposta correta 4. Pergunta 4 /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. 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: Ocultar opções de resposta 1. F, V, F, V. 2. V, V, F, V. Resposta correta 3. F, F, V, V. 4. V, F, V, V. 5. F, V, V, V. 5. Pergunta 5 /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: Ocultar opções de resposta 1. As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. 2. As asserções I e II são proposições falsas. 3. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 4. As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. 5. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. Resposta correta 6. Pergunta 6 /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 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: Ocultar opções de resposta 1. a funcionalidade deve ser declarada no bloco else. 2. a funcionalidade deve ser declarada no bloco finally. 3. a funcionalidade deve ser declarada no bloco if. 4. a funcionalidade deve ser declarada no bloco try. 5. a funcionalidade deve ser declarada no bloco catch. Resposta correta 7. Pergunta 7 /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: Ocultar opções de resposta 1. As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. 2. As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. Resposta correta 3. As asserçõesI e II são proposições falsas. 4. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 5. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 8. Pergunta 8 /1 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: Ocultar opções de resposta 1. 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. 2. A ligação dinâmica só estará presente quando o método existente na superclasse é inexistente na subclasse. 3. 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. Resposta correta 4. Considerando o polimorfismo, a classe genérica pode ser passada como parâmetro cujo argumento é de uma classe mais especializada. 5. Se o objeto especializado possuir um método que seja inexistente na superclasse, o método pode ser chamado usando polimorfismo. 9. 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. Considerando essas informações e o conteúdo estudado sobre tratamento de exceções, assinale a alternativa correta: Ocultar opções de resposta 1. O bloco try-catch é similar a utilização do bloco if-else. 2. O bloco if-else não pode ser utilizado para capturar exceções. Resposta correta 3. O bloco try-catch também pode ser utilizado para evitar exceções. 4. O bloco finally do catch também é utilizado para evitar exceções. 5. As exceções são capturadas pelo bloco if e tratadas pelo bloco else. 10. Pergunta 10 /1 Os blocos try-catch podem ser utilizados com o bloco finally, declarado ao final. No bloco try deve conter códigos que poderão gerar exceção, e os blocos catches, são responsáveis pela captura das exceções se geradas, e neles deve, se necessário, realizar os devidos tratamentos das exceções. A imagem a seguir é um exemplo com a estrutura dos blocos try-catch-finally. IMAGEM 9.PNG 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. O código apresentado na imagem apresentará uma exceção do tipo NullPointerException e o bloco finally não será executado. Porque: II. Quando há exceções capturadas pelo bloco catch, o bloco finally não é executado. A seguir, assinale a alternativa correta: Ocultar opções de resposta 1. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 2. As asserções I e II são proposições falsas. Resposta correta 3. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 4. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 5. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Compartilhar