Prévia do material em texto
19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 1/14 AO2 Substitutiva Entrega 20 de dez de 2021 em 23:59 Pontos 6 Perguntas 10 Disponível 16 de dez de 2021 em 0:00 - 20 de dez de 2021 em 23:59 Limite de tempo Nenhum Instruções Este teste foi travado 20 de dez de 2021 em 23:59. Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 805 minutos 1,2 de 6 Pontuação deste teste: 1,2 de 6 Enviado 20 de dez de 2021 em 23:59 Esta tentativa levou 805 minutos. Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. 0 / 0,6 ptsPergunta 1ão respondidaão respondida Leia o trecho a seguir: Classes e métodos ajudam a modularizar um programa separando suas tarefas em unidades autocontidas. As instruções no corpo dos métodos são escritas apenas uma vez, permanecem ocultas de outros métodos e podem ser reutilizadas a partir de várias localizações em um programa. Uma motivação para modularizar um programa em métodos e classes é a abordagem dividir para conquistar, que torna o desenvolvimento de programas mais gerenciável, construindo programas a partir de peças mais simples e menores. Outra é a capacidade de reutilização de software — o uso de classes e métodos existentes como blocos de construção para criar novos programas. A+ A A- https://famonline.instructure.com/courses/16354/quizzes/63007/history?version=1 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 2/14 Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. p. 158. Considerando as informações apresentadas, avalie as asserções a seguir e a relação proposta entre elas: I. Objetos são instâncias de classes. PORQUE II. Objetos definem todos os atributos e métodos que as classes terão, e todas as classes criadas seguirão o molde definido no objeto. A respeito dessas asserções, assinale a opção correta: As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. As asserções I e II são ambas proposições falsas. 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. esposta corretaesposta correta A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 3/14 0 / 0,6 ptsPergunta 2ão respondidaão respondida Leia o trecho a seguir: Um carro, além de ter a capacidade de realizar tarefas, também tem atributos, como cor, número de portas, quantidade de gasolina no tanque, velocidade atual e registro das milhas totais dirigidas (isto é, a leitura do odômetro). Assim como suas capacidades, os atributos do carro são representados como parte do seu projeto nos diagramas de engenharia (que, por exemplo, incluem um odômetro e um medidor de combustível). Ao dirigir um carro real, esses atributos são incorporados a ele. Cada carro mantém seus próprios atributos. Cada carro sabe a quantidade de gasolina que há no seu tanque, mas desconhece quanto há no tanque de outros carros. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. p. 9. Considerando o texto acima, avalie as seguintes afirmações: I. Cada carro precisa ser representado por uma classe distinta. II. As capacidades do carro podem ser representadas por métodos. III. Objetos da mesma classe possuem os mesmos atributos, mas com valores individuais. É correto o que se afirma em: III, apenas. II e III, apenas. esposta corretaesposta correta A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 4/14 I e III, apenas. I, apenas. I e II, apenas. 0,6 / 0,6 ptsPergunta 3 Observe o trecho de código abaixo: static void foo(int y) throws ArithmeticException { try { int x = 1/y; } catch(ArithmeticException e) { System.out.println("foo"); } } Considerando o trecho de código apresentado, avalie as asserções abaixo e a relação proposta entre elas: I. Métodos que chamam o método foo precisarão capturar ou lançar exceções pertencentes à classe ArithmeticException. PORQUE II. O método que possui a palavra “throws” logo à frente de sua lista de parâmetros, seguida do nome ArithmeticException, sinaliza que ele pode lançar exceções dessa classe. A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 5/14 A respeito dessas asserções, assinale a opção correta. A asserção I é uma proposição falsa, e a asserção II é uma proposição verdadeira. Correto!Correto! Alternativa correta. A palavra “throws” na declaração de um método sinaliza uma lista de exceções que o método poderá lançar. A princípio, quando outro método o chamar, ele deve estar preparado para lidar com essas exceções de alguma maneira, já que elas poderão ocorrer. “Lidar” com essas exceções seria capturá-las ou lançá-las também. A asserção II é verdadeira. Porém, neste caso específico, apesar de o método em questão sinalizar que pode lançar exceções da classe ArithmeticException, dentro de seu corpo ele realiza uma única operação que pode provocá-las já dentro de um bloco “try” e captura as exceções em seguida. Como a exceção sempre será capturada, na prática ela nunca será lançada, e por isso os outros métodos da pilha não precisam se preocupar com essa exceção. A asserção I é falsa. A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. As asserções I e II são proposições falsas, 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 A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 6/14 0 / 0,6 ptsPergunta 4ão respondidaão respondida Leia o trecho a seguir: "Antes do Java SE 8, o Java suportava três paradigmas de programação — programação procedural, programação orientada a objetos e programação genérica. O JavaSE 8 acrescenta a programação funcional." Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. p. 3. Considerando as informações apresentadas, analise as afirmações a seguir: I. O paradigma orientado a objeto possui programas modularizados. II. O paradigma orientado a objeto não pode ser usado em programas gráficos, pois eles usam o orientado a evento. III. O paradigma procedural possui programas modularizados. Estão corretas as alternativas: II e III, apenas. I e II, apenas. I e III, apenas. esposta corretaesposta correta II, apenas. I, apenas. A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 7/14 0 / 0,6 ptsPergunta 5ão respondidaão respondida Leia o texto a seguir: Herdar as variáveis de instância protected permite acesso direto a elas por meio de subclasses. Na maioria dos casos, porém, é melhor usar as variáveis de instância private para incentivar a engenharia de software adequada. Seu código será mais fácil de manter, modificar e depurar. Utilizar variáveis de instância protected cria vários problemaspotenciais. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017, p. 299. Considerando as informações apresentadas, analise as afirmações a seguir: I. Atributos são herdados se forem protected ou public, os private não são transmitidos na herança. II. Modificar o nome dos atributos da superclasse afeta os nomes dos atributos da subclasse. III. Uma subclasse não precisa de get e set para modificar atributos protected da superclasse. IV. Atributos protected criam brechas no encapsulamento da classe. Estão corretas as afirmações: A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 8/14 II, III e IV, apenas. esposta corretaesposta correta I, II, III e IV. I, II e IV, apenas. I, III e IV, apenas. I, II e III, apenas. 0 / 0,6 ptsPergunta 6ão respondidaão respondida Leia o texto a seguir: A palavra-chave new estabelece um novo objeto da classe especificada. Os parênteses à direita [do nome da classe] são necessários. Esses parênteses em combinação com um nome de classe representam uma chamada para um construtor, que é semelhante a um método, mas é chamado implicitamente pelo operador new para inicializar as variáveis de instância de um objeto quando este é criado. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017, p. 60. Adaptado. Considerando as informações apresentadas, analise as afirmações a seguir: I. Um construtor pode receber valores de inicialização para os atributos da classe. A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 9/14 II. Uma classe pode ter mais de um construtor, desde que eles possuam nomes diferentes. III. Um construtor precisa retornar um objeto da classe sendo instanciada. Estão corretas as afirmações: I e II, apenas. I, apenas. esposta corretaesposta correta I e III, apenas. II e III, apenas. I, II e III. 0 / 0,6 ptsPergunta 7 Leia o trecho a seguir: Ao dirigir um carro, o ato de pressionar o acelerador envia uma mensagem para o veículo realizar uma tarefa — isto é, ir mais rápido. Da mesma forma, você envia mensagens para um objeto. Cada mensagem é implementada como uma chamada de método que informa a um método do objeto a maneira de realizar sua tarefa. Por exemplo, um programa pode chamar o método depósito de um objeto conta bancária para aumentar o saldo da conta. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. p. 9. A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 10/14 Considerando as informações apresentadas, analise as afirmações a seguir: I. O envio de uma mensagem pode alterar o estado de um objeto. II. Todos os carros possuem as mesmas características, mas não necessariamente as mesmas capacidades. III. Objetos de classes herdeiras de carro possuirão as mesmas características que os carros, mas não necessariamente as mesmas capacidades. É correto o que se afirma em: III, apenas. ocê respondeuocê respondeu Alternativa incorreta. Um método pode acessar todas as informações do objeto que o executou, mesmo que sejam privadas. De fato, muitas vezes um método é a única maneira de o restante do programa interagir com atributos de um objeto. Como o próprio texto explicou, um envio de mensagem é uma chamada a um método, por isso a afirmação I está correta. Uma classe é uma ideia abstrata que define todas as informações (atributos) e comportamentos ou capacidades (métodos). Todos os objetos daquela classe terão esses atributos e métodos, portanto a afirmação II está incorreta. Quando uma classe herda de outra classe, tudo que foi definido na superclasse (classe mãe) fica definido também para a subclasse (classe filha), isso inclui atributos e métodos, ou seja, a afirmação III está incorreta. I e III, apenas. I e II, apenas. A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 11/14 I, apenas. esposta corretaesposta correta II, apenas. 0 / 0,6 ptsPergunta 8ão respondidaão respondida Leia o texto a seguir: Um objetivo-chave do Java é ser capaz de escrever programas a serem executados em uma grande variedade de sistemas computacionais e dispositivos controlados por computador. Isso às vezes é chamado de “escreva uma vez, execute em qualquer lugar”. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017, p. 13. Assinale a alternativa correta sobre o princípio “escreva uma vez, execute em qualquer lugar” do Java. Os programas Java rodam em qualquer máquina, desde que modificados adequadamente, adaptados e recompilados para a máquina-alvo. Programas Java são traduzidos para C, que é uma linguagem bastante portável. O código-fonte Java não é compilado, e sim interpretado. Todos os processadores são capazes de executar nativamente bytecode Java. A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 12/14 Os programas são compilados para uma máquina virtual, não para linguagem de máquina real. esposta corretaesposta correta 0,6 / 0,6 ptsPergunta 9 Leia o texto a seguir: A noção de interfaces de tags (também chamadas de interfaces de marcação) — interfaces vazias que não têm métodos ou valores constantes. Elas são utilizadas para adicionar relacionamentos “é um” a classes. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017, p. 332. Adaptado. Considerando conceito apresentado no texto, analise as afirmações a seguir: I. Interfaces são úteis para realizar polimorfismo – isto é, permitir que objetos de diferentes classes possam ser tratados como objetos “da interface”. II. Toda interface é vazia, são as classes que providenciam métodos para os objetos que pertencerão à interface. III. Uma classe pode implementar múltiplas interfaces simultaneamente, mas apenas herdar de uma classe. IV. Se uma classe implementa uma interface, objetos de suas subclasses também terão relação “é um” com a interface sem que a A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 13/14 subclasse declare explicitamente que a implementa. São corretas as afirmações: II, III e IV, apenas. I, II e IV, apenas. I, III e IV, apenas. Correto!Correto! Alternativa correta. Ao contrário de classes (abstratas ou não), as interfaces não transmitem código pronto. Ao implementar uma interface, nenhum código pronto é herdado, a classe apenas assume o compromisso de implementar os métodos abstratos cuja assinatura foi declarada nas interfaces. Ao implementar todos os métodos da interface, os objetos da classe passarão a estabelecer uma relação “é um” com a interface. Afinal, tendo os mesmos métodos, eles podem ser “tratados” da mesma maneira. A afirmação I está correta. O Java permite que uma classe implemente diversas interfaces, permitindo dessa maneira que um mesmo objeto estabeleça relações “é um” com diversas interfaces diferentes, desde que todos os métodos abstratos sejam implementados. A alternativa III está correta. Caso uma classe implemente uma interface, ela deverá implementar todos os métodos especificados pela interface. Como na herança todo o código é transmitido, os objetos das subclasses com certeza terão implementações de todos os métodos dainterface, podendo, portanto, ser tratados como objetos “da interface. A afirmação IV está correta. Apesar de interfaces não fornecerem implementações prontas, elas não necessariamente são vazias: elas normalmente possuem métodos abstratos. Isto é, assinaturas de métodos não implementados que deverão ser implementados por todas as classes que a implementem. A afirmação II está incorreta. I, II, III e IV. I, II e III, apenas. A+ A A- 19/09/2023 15:31 AO2 Substitutiva: Programação Orientada a Objetos https://famonline.instructure.com/courses/16354/quizzes/63007?module_item_id=295690 14/14 0 / 0,6 ptsPergunta 10ão respondidaão respondida Leia o trecho a seguir: As classes dão suporte completo à herança, uma característica fundamental da programação orientada a objetos. Ao criar uma classe, você pode herdar de outra interface ou classe que não está definida como selada, e outras classes podem herdar de sua classe e substituir seus métodos virtuais. Disponível em: https://docs.microsoft.com/pt- br/dotnet/csharp/programming-guide/classes-and-structs/classes (https://docs.microsoft.com/pt-br/dotnet/csharp/programming- guide/classes-and-structs/classes) . Acesso em: 05 de novembro de 2020. Além da herança, outras características fundamentais da programação orientada a objeto são: classes abstratas, encapsulamento e polimorfismo. polimorfismo, abstração e encapsulamento. esposta corretaesposta correta objetos, atributos, métodos e entidades. abstração, encapsulamento e eventos. classes, objetos e orientação a eventos. Pontuação do teste: 1,2 de 6 A+ A A- https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-structs/classes