Prévia do material em texto
02/11/2023, 18:12 P2 - Prova On-line (Acessar) https://ava.candidomendes.edu.br/moodle/mod/quiz/review.php?attempt=411786&cmid=423452 1/6 ... Página inicial Disciplinas e Espaços GRADUAÇÃO A DISTÂNCIA 2023-3 Programação Orientada a Objetos - Módulo 03_A Avaliações P2 - Prova On-line (Acessar) Iniciado em quinta, 5 out 2023, 19:09 Estado Finalizada Concluída em quinta, 5 out 2023, 19:37 Tempo empregado 28 minutos 27 segundos Avaliar 7,00 de um máximo de 10,00(70%) Questão 1 Correto Atingiu 1,00 de 1,00 Considere o código Java abaixo para responder a, supondo que ServicoTributado está especificada em outro código, acessível por Servico. Na linha 1 do código Java, apresentado na instrução, a expressão “implements ServicoTributado” significa que: Escolha uma opção: a. a classe Servico não pode sobrescrever os métodos declarados em ServicoTributado. b. a classe ServicoTributado fornece métodos default que podem ser estendidos pela classe Servico. c. a classe Servico é uma subclasse de ServicoTribu-tado e pode sobrescrever os métodos declarados nesta última. d. a classe Servico pode chamar os métodos declarados em ServicoTributado, sem que seja necessário declará- los novamente. e. a classe Servico deve conter implementações de métodos da interface ServicoTributado. Sua resposta está correta. Quando se utiliza a palavra "implements", significa que você irá implementar uma interface, isso significa que terá que implementar todos os métodos assinados na interface. A resposta correta é: a classe Servico deve conter implementações de métodos da interface ServicoTributado. https://ava.candidomendes.edu.br/moodle/ https://ava.candidomendes.edu.br/moodle/course/index.php?categoryid=8 https://ava.candidomendes.edu.br/moodle/course/index.php?categoryid=166 https://ava.candidomendes.edu.br/moodle/course/view.php?id=12976 https://ava.candidomendes.edu.br/moodle/course/view.php?id=12976§ion=4 https://ava.candidomendes.edu.br/moodle/mod/quiz/view.php?id=423452 JR Retângulo JR Retângulo 02/11/2023, 18:12 P2 - Prova On-line (Acessar) https://ava.candidomendes.edu.br/moodle/mod/quiz/review.php?attempt=411786&cmid=423452 2/6 Questão 2 Correto Atingiu 1,00 de 1,00 Questão 3 Correto Atingiu 1,00 de 1,00 Acerca da programação orientada a objetos, usando Java, analise a seguinte assertiva: “O Java contém três tipos de instruções de seleção". Assinale-as. Escolha uma opção: a. if; if ... else; switch. b. while; switch; else. c. if; while; do while. d. For; while; do while. e. if; for; while. Sua resposta está correta. os comando de seleção: if{ } if{ }else{ } Switch{ } A resposta correta é: if; if ... else; switch. A herança é uma das características mais poderosas e importantes da orientação a objetos, pois permite o reaproveitamento de atributos e métodos. Em aplicações que utilizam herança, Escolha uma opção: a. somente as superclasses poderão ter métodos ou construtores sobrecarregados. b. não é possível sobrescrever em uma subclasse, um método de sua superclasse. c. é possível a implementação de herança múltipla, em todas as linguagens orientadas a objetos. d. é possível se obter polimorfismo. e. cada superclasse pode ter apenas uma subclasse. Sua resposta está correta. Em particular, o polimorfismo permite escrever programas que processam objetos que compartilham a mesma superclasse (direta ou indiretamente), como se todos fossem objetos da superclasse; isso pode simplificar a programação. A resposta correta é: é possível se obter polimorfismo. JR Retângulo 02/11/2023, 18:12 P2 - Prova On-line (Acessar) https://ava.candidomendes.edu.br/moodle/mod/quiz/review.php?attempt=411786&cmid=423452 3/6 Questão 4 Correto Atingiu 1,00 de 1,00 Questão 5 Correto Atingiu 1,00 de 1,00 Em aplicações orientadas a objetos, não é um recurso que permite a obtenção de polimorfismo: Escolha uma opção: a. Sobrescrita de métodos b. Modificador final. c. Classe abstrata d. Interface e. Herança Sua resposta está correta. Para impedir que um método seja sobreposto, especifique Final como modificador no início de sua declaração. Métodos declarados como final não podem ser sobrepostos. A resposta correta é: Modificador final. Considerando o trecho de código apresentado, assinale a opção correta a respeito da linguagem Java Escolha uma opção: a. Em Java, uma classe abstrata impede o uso de polimorfismo. b. Em Java, uma classe abstrata veda o uso de herança. c. Em Java, uma classe abstrata veda o uso de encapsulamento. d. Protected double salario significa que salario é visto por qualquer objeto ou superclasse. e. A palavra-chave abstract é utilizada para impedir que a classe Servidor seja instanciada. Sua resposta está correta. Você não pode criar um objeto de uma classe abstrata porque poderia não existir uma implementação válida para alguns métodos que bem poderiam ser invocados. A resposta correta é: A palavra-chave abstract é utilizada para impedir que a classe Servidor seja instanciada. JR Retângulo 02/11/2023, 18:12 P2 - Prova On-line (Acessar) https://ava.candidomendes.edu.br/moodle/mod/quiz/review.php?attempt=411786&cmid=423452 4/6 Questão 6 Incorreto Atingiu 0,00 de 1,00 Herança e interfaces são conceitos da orientação a objetos que possibilitam a obtenção de polimorfismo. Em Java, uma interface pode Escolha uma opção: a. herdar de mais de uma interface. b. conter declarações de constantes e de variáveis não inicializadas. c. possuir métodos abstratos, estáticos e final. d. possuir apenas assinaturas de métodos públicos. e. ser instanciada diretamente por meio da instrução new. Sua resposta está incorreta. Os métodos declarados em uma interface são implicitamente abstratos porque nenhuma implementação é, ou pode ser, dada a eles. Por esta razão, o corpo do método é simplesmente um ponto-e-vírgula após o cabeçalho do método. Por convenção, o modificador abstract é omitido na declaração do método. Nenhum outro modificado, de método é permitido em uma declaração de método de interface, exceto para anotações. Eles são implicitamente public e assim não podem ter nenhum outro modificador de acesso. A resposta correta é: possuir apenas assinaturas de métodos públicos. JR Retângulo 02/11/2023, 18:12 P2 - Prova On-line (Acessar) https://ava.candidomendes.edu.br/moodle/mod/quiz/review.php?attempt=411786&cmid=423452 5/6 Questão 7 Completo Atingiu 0,00 de 2,00 Queremos atribuir números de conta sequencialmente. Isto é, queremos que o construtor de conta bancária crie a primeira conta com o número 1001, a próxima com o número 1002 e assim por diante. Portanto, devemos armazenar o último número de conta atribuído em algum lugar. Não faz sentido, porém, transformar esse valor em um campo de instância: Nesse caso, cada instância da classe BankAccount teria um valor próprio de lastAssignedNumber. Qual seria a implementação correta para ter um único valor de lastAssignedNumber que seja o mesmo para toda a classe? public class BankAccount { ... private double balance; private int accountNumber; private int lastAssignedNumber = 1000; // NÃO - não funcionará } Precisamos ter um campos especial, esse campo é chamado campo estático, porque você o declara utilizando a palavra-chave static. Comentário: JR Retângulo 02/11/2023, 18:12 P2 - Prova On-line (Acessar) https://ava.candidomendes.edu.br/moodle/mod/quiz/review.php?attempt=411786&cmid=423452 6/6 Questão 8 Completo Atingiu 2,00 de 2,00 O que é Coesão e Acoplamento em programação orientada a objetos? Coesão - É a indicação de como estão relacionadas e focadas as responsabilidades de um elemento do software. Acoplamento - É a força com que um elemento do software esta conectado a outros elementos. Coesão Uma classe deve representar um único conceito. As constantes e os métodos públicos que a interface pública expõe devem ser coesos. Isto é, todos os recursos da interface devem estar intimamente relacionados ao único conceito que a classe representa.Acoplamento Se muitas classes de um programa dependerem umas das outras, dizemos então que o acoplamento entre as classes é alto. Inversamente, se houver poucas dependências entre as classes, dizemos que o acoplamento é baixo. Comentário: JR Retângulo