Baixe o app para aproveitar ainda mais
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
Compartilhar